![](https://img-blog.csdnimg.cn/f6d5211575e34c3ebed97057bf58abb9.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构 C语言
文章平均质量分 58
所学整理
南北旅程 Hia
这个作者很懒,什么都没留下…
展开
-
7.【排序 算法】
这样做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,原创 2023-09-06 11:41:55 · 31 阅读 · 0 评论 -
6.【查找 算法】
从头到尾遍历一遍,耗时长、效率低。思想:每次进行分半,判断在。前提条件:数组中元素。原创 2023-09-06 11:40:54 · 29 阅读 · 0 评论 -
5.【图(保留 了解】
任意的两个元素都可能相关,即图中任一元素可以有若干个直接前驱和直接后继,属于网状结构类型。)是一种非线性数据结构。原创 2023-09-06 11:40:15 · 35 阅读 · 0 评论 -
4.2【二叉树】
指向左子结点的指针(Lchild结点存储的数据指向右子结点的指针(Rchildint data;// 数据域// 左子指针// 右子指针} BTN, *BT;原创 2023-09-06 11:39:40 · 73 阅读 · 1 评论 -
4.1【普通有序树】
一对多,每个结点最多有一个前驱,但可以有多个后继。根结点无前驱,叶结点无后继。原创 2023-09-06 11:38:42 · 152 阅读 · 1 评论 -
3.3.2【链式队列 有头单向链表】
/ 定义 链式队列 结点结构体} LLN, *LL;// 定义 操作 链式队列 的结构体LL front;// 队头结点指针(LLN * front)(struct LinkListNode *)LL rear;// 队尾结点指针} LQ;原创 2023-09-06 11:38:09 · 118 阅读 · 1 评论 -
3.3.1【顺序循环队列】
队列 或者 栈,都是对 顺序表 进行受限操作来实现的。所以,结构体顺带开辟 数组作为顺序表空间。原创 2023-09-06 11:37:30 · 144 阅读 · 1 评论 -
3.2.2【链式栈 无头单向链表】
思路:栈针top 永远指向无头单向链表的 第一个结点,即栈顶。栈空,则指向NULL新结点,总链接到栈顶结点之上,成为新栈顶。原创 2023-09-06 11:36:57 · 130 阅读 · 1 评论 -
3.2.1【顺序栈】
/ 指向 栈 的存储位置int maxlen;// 保存 栈 的 最大 长度int top;// top始终代表 当前栈内最后一个有效元素 的下标(在心里当成last用)} SS;data:存放用malloc所开辟空间 的的首地址;而不是整个数组,这样结构体占用的空间就会变小。maxlen:用maxlen去malloc指定长度的 顺序地址长度空间,即堆区的数组。原创 2023-09-04 15:05:55 · 58 阅读 · 1 评论 -
3.1.5【约瑟夫问题:双向循环链表】
思想和单向循环一样,只需要将双向链表尾的。原创 2023-09-04 15:05:25 · 53 阅读 · 1 评论 -
3.1.4【约瑟夫问题:无头单向循环链表】
从1号开始,数5个数,数完5个数,5号被杀死,第一轮报数后,剩余人数如下。假设n=6总共6人,k=1从第一个人开始,m=5,每次从1数到5。的人出列,依次类推,最后剩下一个为猴王。从6开始报号1,然后4出局,下个人为6。个人围坐一圈,约定编号为。原创 2023-09-04 15:03:22 · 32 阅读 · 1 评论 -
3.1.3【有头 双向(不循环)链表】
思路类似链式队列,需要 头head和 尾tail两个指针。头指针 指向 头结点,尾指针 指向 末个 有效结点。//数据域//前驱指针域//后驱指针域将头尾指针放到一个操作双向链表的结构体里DLL head;// 头指针DLL tail;// 尾指针int len;// 记录链表长度(比下标大1)} ODLL;指定位置插入、指定位置删除、修改指定位置;这三者移动指针的思路是相同的。运用有头,无头单向链表思路。原创 2023-09-04 15:02:37 · 48 阅读 · 1 评论 -
3.1.2【有头单向链表】
/数据域//指针域} LLN, *LL;LLNLLLLLLN *链表插入删除方便,顺序表插入删除需要移动元素。链表访问元素比较麻烦,需要遍历,顺序表查找方便因为内存连续,通过下标即可查找。顺序表长度固定,链表长度不固定。原创 2023-09-04 15:02:03 · 32 阅读 · 1 评论 -
3.1.1【顺序表】
注意:该结构体不是顺序表本身,而是为了方便操作顺序表而设计定长数组(即顺序的线性表)数组中,最后个有效元素的下标#define N 5 // 定长数组大小// 顺序表数据类型// 1. 定义用来操作顺序表的结构体// 定长数组int last;// 数组中最后一个有效元素的下标} SL;原创 2023-09-04 15:00:57 · 31 阅读 · 1 评论 -
2.2【算法与时间复杂度】
对于算法的时间效率的计算,通常是抛开与计算机硬件、软件有关的因素,仅考虑实现该算法的高级语言程序。对于一个算法的复杂性分析:主要是对算法效率的分析,包括衡量其运行速度的时间效率,以及其运行时所需要占用的空间大小。算法的时间复杂度是一个函数,它定性描述该算法的运行时间,时间复杂度常用 O 表述,它衡量着一个程序的好坏,时间复杂度的估算是算法题的重中之重。原创 2023-09-04 15:00:25 · 32 阅读 · 1 评论 -
2.1【概念】
通过构造相应散列函数,由散列函数的值来确定 数据元素/结点 存放的地址(即关键字和地址存在映射关系)。:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。:数据元素是组成 数据 且有一定意义的基本单位,在计算机中通常作为整体处理。顺存储结构就像排队,大家都按照顺序排好,每个人占一小段空间,逻辑上谁也不能插队。查找一个人的电弧就可以先查索引表,再查相应的数据文件,加快了查询速度。这样的存储形式,称为顺序存储结构。来表示,由此得到的存储表示成为链式存储结构。原创 2023-09-04 14:59:43 · 22 阅读 · 1 评论 -
0.【问题梳理】
来操作 目标元素队列和栈,都是对 顺序表,进行受限操作。原创 2023-09-04 14:57:23 · 24 阅读 · 1 评论 -
《数据结构 与 基础算法》
数据结构 与 基础算法》:写在语雀,无会员,所以转发CSDN。原创 2023-09-04 14:53:45 · 40 阅读 · 1 评论