- 博客(5)
- 收藏
- 关注
原创 【数据结构】二叉树(C语言)
树是一种非线性的数据结构,它是由nn>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1T2……Tm,其中每一个集合Ti(1
2024-06-03 23:34:24
1699
9
原创 【数据结构】二叉树_堆
思路:我们先建立一个大堆,先把前K个元素建成一个大堆,然后在将剩下的数和堆顶元素进行比较,如过大于堆顶数据,我们就和堆顶元素进行交换,然后将现在的堆顶元素向下调整,前k个数就是这组数据中最小的前K个数。(这里child可以是左孩子也可以是右孩子,因为C语言的整除规则,无论哪个节点,整除都会是双亲的下标)交换的目的在于使(小)大堆保持原来的规则形态,为了避免在插入和删除之后,兄弟变成父子,父子变成叔侄这样的事情发生,这样就破坏了原有的(小)大堆规则,因此做出调整。节点的数值要小,以此类推到整个堆,可以得知。
2024-05-29 18:33:26
1819
9
原创 结构体详解(C语言)
位段的声明和结构体类似,但有两个不同:1.位段的成员必须是int或signed int,在C99中位段成员的类型也可以选择其他类型。2.位段的成员名后边有⼀个冒号和⼀个数字。int _b:5;int _c:10;int _d:30;A就是一个位段类型。那位段A所占的空间大小是多少呢?
2024-05-18 22:08:50
2862
14
原创 【数据结构】队列
队列:是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有的特点。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。
2024-05-13 23:40:14
1965
15
原创 【数据结构】栈
栈:一种特殊的线性表,其只允许在进行删除和插入操作。栈中的数据元素遵循后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,。出栈:栈的删除操作叫做出栈,。
2024-05-10 20:30:53
707
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人