数据结构(c语言实现)
文章平均质量分 95
用c语言实现数据结构
天影云光
hello world!
展开
-
十大经典排序,你全都会了吗?(附源码、动图、万字详解)
文章目录前言: 排序的概念1. 插入排序1.1 基本思想:1.2 1️⃣直接插入排序:1.3 2️⃣希尔排序( 缩小增量排序)2. 选择排序2.1基本思想:2.2 3️⃣直接选择排序:2.3 4️⃣堆排序3. 交换排序3.1基本思想:3.2 5️⃣冒泡排序3.3 6️⃣快速排序3.3.1 快速排序优化3.3.2 快速排序非递归4. 7️⃣归并排序4.1 归并排序非递归5. 非比较排序5.1 8️⃣计数排序5.2 9️⃣桶排序5.3 🔟基数排序总结:排序算法复杂度及稳定性分析原创 2022-05-04 09:16:09 · 16731 阅读 · 274 评论 -
<数据结构>来,一起刷题吧——二叉树(单值二叉树、相同的树、对称二叉树、另一棵树的子树、前序遍历)
文章目录1. 单值二叉树链接思路参考代码2. 相同的树链接思路参考代码3. 对称二叉树链接思路参考代码4. 另一棵树的子树链接思路参考代码5. 二叉树的前序遍历链接思路参考代码目前在不断更新<数据结构>的知识总结,已经更新完了<C语言>,未来我会系统地更新<C++语言><Linux系统编程><Linux网络编程><MySQL数据库>等内容。上一篇相关博客:<数据结构>链式二叉树的基本操作本文是在上一篇相关博客的基础上进阶的刷.原创 2022-04-27 08:56:41 · 629 阅读 · 90 评论 -
<数据结构>链式二叉树的基本操作
二叉树的遍历二叉树节点个数 (引进分治思想) 二叉树叶子节点个数二叉树第k层节点个数二叉树层数二叉树查找值为x的节点 判断是否为完全二叉树二叉树的销毁原创 2022-04-19 17:03:43 · 1788 阅读 · 159 评论 -
<数据结构>挖堆堆、栽树树(手把手教你写“堆排序”)
4.最小堆[0,3,2,5,7,4,6,8],在删除堆顶元素0之后,其结果是()A[3,2,5,7,4,6,8]B[2,3,5,7,4,6,8]C[2,3,4,5,7,8,6]D[2,3,4,5,6,7,8]选择题答案1.A2.C3.C4.C[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpjlyHjR-1649649469749)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user..原创 2022-04-18 08:25:05 · 1113 阅读 · 131 评论 -
<数据结构>倒拔二叉树
文章目录1.树概念及结构1.1树的概念1.2 树的相关概念1.3 树的表示1.4 树在实际中的运用2.二叉树概念及结构2.1概念2.2现实中的二叉树:2.3 特殊的二叉树:2.4 二叉树的性质2.5 二叉树的存储结构目前在不断更新<数据结构>的知识总结,已经更新完了<C语言>,未来我会系统地更新<C++语言><Linux系统编程><Linux网络编程><MySQL数据库>等内容。 想要一步步稳扎稳打,学习编程的小伙伴可以关注我,.原创 2022-04-12 19:43:25 · 659 阅读 · 72 评论 -
<数据结构>刷题笔记——栈和队列篇(动图详解)
文章目录1. 有效的括号【链接】【思路】【参考代码】2. 用队列实现栈【链接】【思路】【参考代码】3. 用栈实现队列【链接】【思路】【参考代码】4. 设计循环队列【链接】【思路】【参考代码】目前在不断更新<数据结构>的知识总结,已经更新完了<C语言>,未来我会系统地更新<C++语言><Linux系统编程><Linux网络编程><MySQL数据库>等内容。本系列相关文章:<数据结构>你分得清栈和队列吗?已完结系列文章总结:原创 2022-04-09 22:26:08 · 1959 阅读 · 160 评论 -
<数据结构>你分得清栈和队列吗?
1.栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。top意味着什么top初始化成0。top指向栈原创 2022-04-06 09:00:00 · 1612 阅读 · 200 评论 -
<数据结构>你敢信?带头双向循环链表其实很简单
你敢信?双向循环带头链表其实很容易原创 2022-04-02 08:58:31 · 992 阅读 · 151 评论 -
<数据结构>刷题笔记——链表篇进阶(图文详解)
141. 环形链表bool hasCycle(struct ListNode *head) { struct ListNode* fast,*slow; fast = slow = head; while(fast && fast->next) { fast = fast->next->next; slow = slow->next; if(fast == slow)原创 2022-03-30 08:58:43 · 1537 阅读 · 118 评论 -
<数据结构>刷题笔记——链表篇(二)(有动图详解)
876. 链表的中间结点struct ListNode* middleNode(struct ListNode* head){ struct ListNode* fast,*slow; fast = slow = head; while(fast && fast->next) { slow = slow->next; fast = fast->next->next; } return s原创 2022-03-27 09:29:07 · 1169 阅读 · 139 评论 -
<数据结构>刷题笔记——链表篇(一)(有动图详解)
力扣203. 移除链表元素struct ListNode* removeElements(struct ListNode* head, int val){ struct ListNode* prev = NULL; struct ListNode* cur = head; while(cur) { if(cur->val == val) { struct ListNode* next = cur->nex原创 2022-03-22 08:54:35 · 2337 阅读 · 119 评论 -
<数据结构>还不会写单向链表?我手把手教你
文章目录1.链表概况1.1 链表的概念及结构1.2 链表的分类2. 单向链表的实现2.1 SList.h(头文件的汇总,函数的声明)2.2 SList.c(函数的具体实现逻辑)2.2.1 打印链表2.2.2 搞出一个新节点(为其他函数服务)2.2.3 链表尾插2.2.4 链表头插2.2.5 链表尾删2.2.6 链表头删2.2.7 查找节点2.2.8 在pos位置之前插入2.2.9 在pos位置之后插入2.2.10 删除pos位置2.2.11 删除pos之后位置2.2.12 链表销毁1.链表概况1.1 链原创 2022-03-19 09:50:10 · 2161 阅读 · 61 评论 -
半小时教你用双指针刷题
能用双指针解题的题目特点:有“原地”、“不使用额外空间”、“相对顺序不变”等字眼,让我们看看以下三题。1. 删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 ==相对顺序应该保持 一致 ==由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位原创 2022-03-16 13:25:58 · 511 阅读 · 59 评论 -
<数据结构>还不会写顺序表?我手把手教你
文章目录1.线性表2.顺序表2.1概念及结构2.2 接口实现2.3 数组相关面试题2.4 顺序表的问题及思考1.线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储2.顺序表2.1概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性原创 2022-03-13 09:15:47 · 1517 阅读 · 66 评论 -
数据结构自学教程——算法的时间复杂度和空间复杂度
1.前言1.1 什么是数据结构?数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。1.2 什么是算法?算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。2.算法效率2.1 如何衡量一个算法的好坏如何衡量一个算法的好坏呢?比如对于以下斐波那契数列:long long Fib(int N){ i原创 2022-03-09 02:15:00 · 646 阅读 · 53 评论