![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
初阶数据结构
文章平均质量分 90
初阶数据结构相关,代码实现,逻辑梳理。
_poplar_
这个作者很懒,什么都没留下…
展开
-
【数据结构】第五站:队列(附源码)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头对队列基本知识摘录以及其C语言代码的实现。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。原创 2024-02-06 22:09:40 · 370 阅读 · 1 评论 -
【数据结构】第十站:交换排序(附代码和注释)
本文介绍交换排序,包括冒泡排序和快速排序。完成了交换排序分析思路和实现,包括冒泡排序和快速排序,同时还分析了快速排序数组有序时的过度递归情况。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。原创 2023-11-29 23:43:32 · 133 阅读 · 1 评论 -
【数据结构】第九站:选择排序(附代码和注释)
本文开始介绍选择排序本文对选择排序进行详细的分析和代码注释。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。原创 2023-11-28 11:39:40 · 74 阅读 · 0 评论 -
【数据结构】第八站:排序概念与插入排序(附代码和注释)
开始介绍排序,如下图是我们常见的排序算法,本文介绍插入排序部分。希尔排序是对直接插入排序的优化。当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。《数据结构(C语言版)》— 严蔚敏《数据结构-用面相对象方法与C++描述》— 殷人昆On1.25On1.25到O1.6∗n1.25O1.6∗n1.25来算。稳定性:不稳定。原创 2023-11-19 16:07:02 · 89 阅读 · 1 评论 -
【数据结构】第六站:树的入门和堆的实现(附完整代码和注释)
树的入门阶段我们需要:认识树(理清树的结构)、认识树的相关概念、了解不同种类的树。然后我们试着实现一种树:堆。堆的本质是一个顺序表,而它在逻辑上被认为成一种特殊的树,所以这节将会让你深刻的认识到老婆饼里没有老婆,还是那句话,画图!一、树的入门1.树概念及结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成的。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。--------注意:树形结构中,子树之间不能有交集,否则就不是树形结构。原创 2023-04-24 19:19:08 · 216 阅读 · 0 评论 -
【初阶数据结构】第七站:二叉树(附完整代码和注释)
有树的入门和堆的实现前文的铺垫,我们已经了解了二叉树的基本结构,本章将完成对二叉树遍历、构造等的函数的讲解和实现。如对树的结构不够了解请跳转链接:树的入门和堆的实现一、二叉树函数一览// 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树// 二叉树销毁// 二叉树节点个数// 二叉树节点个数2(现代写法)// 二叉树叶子节点个数// 二叉树第k层节点个数// 二叉树查找值为x的节点// 二叉树前序遍历// 二叉树中序遍历// 二叉树后序遍历。原创 2023-11-09 23:56:16 · 230 阅读 · 1 评论 -
【数据结构】第三站:C语言--双向带头循环链表(附完整源码和注释)
今天实现双向带头循环链表,它的逻辑和单链表类似,不同的是它比单链表多了带头的哨兵位还多了一个指向前一个节点的指针(prev),这使它某些函数效率大增并且简单。原创 2023-04-20 17:24:29 · 285 阅读 · 1 评论 -
【数据结构】第四站:栈(附源码)
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。可知,栈是对顺序表进行了一边封口不操作。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。这里有了顺序表的铺垫,实现应该会变得非常简单。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。原创 2023-09-23 22:22:51 · 107 阅读 · 1 评论 -
【数据结构】第二站:C语言--单链表(附完整源码和注释)
进入链表,链表根据单/双向,是否循环,是否有哨兵位可分成多种,我们只重点选择几个解析,触类旁通,这篇文章的单链表没有带哨兵位的单链表,实现会有很多困难,也正是因为这种结构有问题,所以很容易取得出题者的青睐,单链表实现函数的参数开始使用二级指针,亲自画图成为理解单链表断言、结构的最快方法。原创 2023-04-17 16:42:39 · 1441 阅读 · 1 评论 -
【数据结构】第一站:C语言--顺序表(附完整源码和注释)
顺序表是数据结构学习所接触的第一个数据存储结构,对顺序表的结构有清楚的了解,将对后面的学习大有帮助。(本文章默认读者c语言有一定了解)还需要注意的是:数据结构的学习,我们亲自画图(理解逻辑的过程)十分重要,如果顺序表不好好画图,相信链表的实现时会让你头疼一阵。原创 2023-04-14 23:38:26 · 3399 阅读 · 1 评论