![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言实现简单数据结构
文章平均质量分 93
早凉
从新开始!
展开
-
【C语言简单实现数据结构】排序之交换排序和归并排序
常见排序相对于插入排序和选择排序,交换排序和归并排序比较难。1. 冒泡排序是一种非常容易理解的排序2. 时间复杂度:O(N^2)3. 空间复杂度:O(1)4. 稳定性:稳定1. 快速排序整体的综合性能和使用场景都是比较好的,所以才敢叫快速排序2. 时间复杂度:O(N*logN)3. 空间复杂度:O(logN)4. 稳定性:不稳定1. 归并的缺点在于需要O(N)的空间复杂度,归并排序的思考更多的是解决在磁盘中的外排序问题。2. 时间复杂度:O(N*logN)原创 2022-09-14 18:32:12 · 879 阅读 · 3 评论 -
【C语言简单实现数据结构】排序之插入排序和选择排序
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序...原创 2022-08-17 20:58:36 · 295 阅读 · 6 评论 -
【C语言简单实现数据结构】详解二叉树
树的东西可太多了,主要是二叉树和堆实现比较详细,而且已经感觉到了难度,本文只是对基础概念进行梳理,在写作过程中文章篇幅较大,难免会出现纰漏,欢迎各位指出,也欢迎大家交流。本文涉及很多递归,要体会递归思想,刷题也是必不可少的。一、树概念及结构。......原创 2022-08-14 18:41:38 · 640 阅读 · 16 评论 -
【C语言实现简单的数据结构】栈和队列
顺序表链表到这里告一段落,在实现栈和队列的时候虽然在逻辑上和顺序变链表不同,但物理结构我们可以使用顺序变或者链表来实现。但是根据结构的逻辑不同,可以根据各自优缺来选择,所以请学好顺序表链表,接下来进入栈和队列。---...原创 2022-08-09 16:50:27 · 523 阅读 · 12 评论 -
【C语言简单实现数据结构】带头循环双向链表
无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了。接下来,在实现过程中就会体会到,如果少一个条件实现就会麻烦不少,但这些条件正好实现起来是非常巧妙。不同点顺序表链表存储空间物理上一定连续。...原创 2022-08-03 16:49:33 · 187 阅读 · 8 评论 -
【C语言实现简单数据结构】单链表
中间/头部的插入删除,时间复杂度为O(N)增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。思考如何解决以上问题呢?下面给出了链表的结构来看看单链表在头插和头删中有一定的优势,而对于尾插来讲,以及需要遍历寻找到最后一个结点,这是缺点,他没有完全的解决顺序表中的缺点。如果我们删除pos原位置的结点呢?Gitee。...原创 2022-07-31 17:13:03 · 331 阅读 · 6 评论 -
【C语言实现简单数据结构】顺序表
线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导原创 2022-07-28 17:40:08 · 178 阅读 · 10 评论 -
【C语言简单实现数据结构】时间复杂度和空间复杂度
C语言入门已经完结,接下来就是实现C语言实现简单数据结构,徐徐图之,日复一日,必有精进。原创 2022-07-25 17:12:22 · 397 阅读 · 15 评论