
二叉树专栏
文章平均质量分 97
异或没有以后
致广大而尽精微,极高明而道中庸
展开
-
【数据结构】二叉树(C语言)
树是一种非线性的数据结构,它是由nn>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1T2……Tm,其中每一个集合Ti(1原创 2024-06-03 23:34:24 · 1717 阅读 · 8 评论 -
【数据结构】二叉树_堆
思路:我们先建立一个大堆,先把前K个元素建成一个大堆,然后在将剩下的数和堆顶元素进行比较,如过大于堆顶数据,我们就和堆顶元素进行交换,然后将现在的堆顶元素向下调整,前k个数就是这组数据中最小的前K个数。(这里child可以是左孩子也可以是右孩子,因为C语言的整除规则,无论哪个节点,整除都会是双亲的下标)交换的目的在于使(小)大堆保持原来的规则形态,为了避免在插入和删除之后,兄弟变成父子,父子变成叔侄这样的事情发生,这样就破坏了原有的(小)大堆规则,因此做出调整。节点的数值要小,以此类推到整个堆,可以得知。原创 2024-05-29 18:33:26 · 1833 阅读 · 9 评论