
数据结构(C++)
文章平均质量分 78
关于数据结构的代码笔记
这个世界是多么神奇
这个作者很懒,什么都没留下…
展开
-
数据结构笔记(其八)--一般树的存储及其遍历
一般的树会有多个孩子,所以存储结构也会与二叉树略有不同。 一般树的遍历。 双亲表示法,也是父亲表示法,即每个节点中都存储了其父节点的地址信息。 特性:可以轻易地找到父节点,但寻找孩子节点麻烦。 顺序储存,每个节点都储存有其对应的父节点数组下标,根节点默认为-1(且在顺序表中,只有下标为0,其内存有-1的节点是根结点)。 删除节点的思路: 法一,将待删除节点储存的父节点下标设置为-1,意指该节点为空。 法二原创 2024-11-15 20:18:41 · 982 阅读 · 0 评论 -
数据结构笔记(其七)--树(二叉树)
叶子结点只会出现在最后两层。· 最多只能有一个度为1的结点。· 按层序从1开始编号,结点i 的左孩子为2i,右孩子为2i+1,父节点为 i/2向下取整(如果存在)(与满二叉树相同)原创 2024-10-24 16:39:34 · 1008 阅读 · 1 评论 -
数据结构笔记(其五)--串
数据结构中关于串,特别是KMP算法的一些知识。原创 2024-08-09 16:14:42 · 802 阅读 · 0 评论 -
数据结构笔记(其六)--树(一般的树)
数据结构中关于一般树的基础知识原创 2024-08-10 15:54:49 · 636 阅读 · 0 评论 -
数据结构笔记(其三)--栈与队列
对栈与队列的讲解原创 2024-08-01 18:23:38 · 141 阅读 · 0 评论 -
数据结构笔记(其二)--线性表
线性表的基础知识原创 2024-07-08 22:39:12 · 664 阅读 · 0 评论 -
数据结构笔记(其一)--基础知识篇
数据结构的前置知识原创 2024-07-07 20:46:16 · 482 阅读 · 0 评论 -
数据结构--串(持续更)
串,又称字符串。串与线性表最大的区别就是,串针对的是字符集,也因为串是字符型,所以,对数据的处理也发生了巨大的变化(相对于线性表),比如,线性表常针对单个的元素,而串更多的是对子串的操作(多个字符的操作)(子串,一串字符中的一小段,整段字符称为主串)。原创 2024-04-07 20:39:30 · 368 阅读 · 0 评论 -
数据结构--链式队列
一些解决这个冲突的想法,用宏将那个“截取出队的临时节点”定义为全局变量,如此,其释放,便不会限制在局部的函数中,变得灵活多变,让“出队函数”不会再包含释放内存相关的内容,将这个全局变量的释放放到“队列销毁函数”中,如此,再通过if的条件判断,进行讨论,这样,或许会更为直观的看到哪里需要避免重复释放。该代码的难点就在于,对节点释放的处理,本代码中通过对象默认调用析构函数的方法,将队列的销毁融入,而不是单独在列出,也因此,在出列函数的释放中,可能会存在重复释放的冲突,原创 2024-04-04 10:56:37 · 177 阅读 · 1 评论 -
C++与数据结构--随笔--数组、向量、链表
向量的内部是数组,初始数组大小(a1[100])是100,在超出最大容量之后,就会进行扩容,生成一个更大的数组(a2[200]),在将初始数组按顺序复制进去,在将超出的内容依次放入新的数组中,之后,将初始数组(a1[100])释放掉。由于,上文的操作较为费时,所以每次扩容时,都会建立一个超大的数组,经过前辈们的计算,每次新数组容量为旧数组的两倍时,最为节省时间,所以,容量是成倍增长的。(本质还是数组,只是关于数组的一些复杂操作,都经过封装,变为了一些简单的函数直接呈现给我们了)char a[100];原创 2024-04-02 19:46:10 · 348 阅读 · 1 评论 -
数据结构--循序队列代码
本代码参考了《大话数据结构》中的循环队列的相关内容。原创 2024-03-30 16:24:39 · 187 阅读 · 0 评论