
数据结构初阶
文章平均质量分 97
C语言实现数据结构,算法复杂度,顺序表和链表,栈和队列,二叉树,排序
发挥一次
天道酬勤
展开
-
【数据结构初阶】排序算法(下)冒泡排序与归并排序
4. 交换排序4. 1 冒泡排序5. 归并排序6. 非比较排序6. 1 计数排序5. 排序性能分析6. 排序算法复杂度及稳定度分析原创 2024-10-01 17:04:23 · 2567 阅读 · 141 评论 -
【数据结构初阶】排序算法(中)快速排序专题
1. 快排主框架2. 快排的不同实现2. 1 hoare版本2. 2 挖坑法2. 3 lomuto前后指针法2. 4 快排的非递归版本3. 快排优化3. 1 快排性能的关键点分析:3. 1 三路划分3. 2 introsort自省排序原创 2024-09-28 20:44:11 · 2336 阅读 · 128 评论 -
【数据结构初阶】排序算法(上)插入排序与选择排序
1.排序概念及运用1. 1 概念1. 2 运用1.3 常见排序算法2. 插入排序2. 1 直接插入排序2. 2 希尔排序2. 2. 1 希尔排序的时间复杂度3. 选择排序3. 1 直接选择排序3. 2 堆排序3. 3 Top-K问题原创 2024-09-25 19:59:53 · 2134 阅读 · 139 评论 -
【数据结构初阶】链式二叉树接口实现超详解
1. 节点定义2. 前中后序遍历2. 1 遍历规则2. 2 遍历实现2. 3 结点个数2. 3. 1 二叉树节点个数2. 3. 2 二叉树叶子节点个数2. 3. 3 二叉树第k层节点个数2. 4 二叉树查找值为x的节点2. 5 二叉树层序遍历2. 6 判断二叉树是否是完全二叉树3. 二叉树性质原创 2024-09-21 20:33:03 · 1757 阅读 · 142 评论 -
【数据结构初阶】顺序结构二叉树(堆)接口实现超详解
1树1.1 树的概念与结构1.2 树的相关术语1.3 树的表示1.4 树形结构实际运用场景2二叉树2.1 概念与结构2.2 特殊的二叉树2.2.1 满二叉树2.2.2 完全二叉树2.3 二叉树存储结构2.3.1 顺序结构2.3.2 链式结构3实现顺序结构二叉树(小堆)3.1 堆的概念与结构3.2 堆的实现3.2.1 堆的定义3.2.2 初始化与销毁3.2.3 交换3.2.4 入堆与向上调整函数3.2.5 判空与取堆顶数据与堆的大小3.2.6 出堆与向下调整大堆原创 2024-09-17 19:01:47 · 1878 阅读 · 132 评论 -
【数据结构初阶】队列接口实现及用队列实现栈超详解
1. 概念1. 1 队列底层结构选型1. 2 队列定义2. 接口实现2. 1 初始化2. 2 判空2. 3 入队列2. 4 出队列2. 5 队尾元素和队头元素和队列元素个数2. 6 销毁2. 7 接口的意义3. 经典OJ题3. 1 用队列实现栈3. 1. 1 栈的定义3. 1. 2 栈的初始化3. 1. 3 入栈3. 1. 4 出栈3. 1. 5 取栈顶元素3. 1. 6 判空3. 1. 7 销毁原创 2024-09-14 17:30:37 · 1712 阅读 · 135 评论 -
【数据结构初阶】栈接口实现及经典OJ题超详解
1. 概念与结构1. 1 栈底层结构选型2. 栈实现2. 1 栈的定义2. 2 栈的初始化2. 3 入栈2. 4 判空2. 5 出栈2. 6 取栈顶元素2. 7 栈大小2. 8 栈销毁2. 9 打印3. 经典OJ题3. 1 有效的括号原创 2024-09-13 10:44:04 · 1453 阅读 · 94 评论 -
【数据结构初阶】链表分类与双向带头循环链表接口实现
1. 链表的分类2. 双向带头循环链表接口实现2. 1 结点声明2. 2 创建链表节点2. 3 初始化链表2. 4 打印链表2. 5 尾插2. 6 判空2. 7 尾删2. 8 头插2. 9 头删2. 10 查找2. 11 在指定位置删除与插入2. 12 销毁3. 链表接口测试4. 单链表与双链表5. 顺序表与链表原创 2024-09-07 15:58:54 · 1935 阅读 · 124 评论 -
大二必做项目贪吃蛇超详解之下篇游戏核心逻辑实现
5. 核心逻辑实现分析5. 3 GameRun5. 3. 1 PrintScore5. 3. 2 CheckVK5. 3. 3 BuyNewNode5. 3. 4 NextIsFood5. 3. 4 EatFood5. 3. 5 NotFood5. 3. 6 CheckIsWall和CheckIsSelf5. 4 GameOver6. 已知Bug与一些可能的改进意见原创 2024-09-03 21:59:19 · 2385 阅读 · 130 评论 -
大二必做项目贪吃蛇超详解之中篇游戏设计与分析
1. 地图1. 1 本地化1. 2 类项1. 3 setlocale函数1. 4 宽字符的打印1. 5 地图坐标2. 蛇身和食物3. 数据结构设计4. 游戏流程设计5. 核心逻辑实现分析5. 1 游戏主逻辑5. 2 GameStart5. 2. 1 SetInit5. 2. 2 Welcome5. 2. 3 InitMap5. 2. 4 InfoPrint5. 2. 5 SnakeInit5. 2. 6 CreatFood原创 2024-09-01 13:21:40 · 2607 阅读 · 116 评论 -
大二必做项目贪吃蛇超详解之上篇win32库介绍
1. 游戏背景2. 游戏效果演示3. 项目目标4. 前置知识5. Win32 API5. 1 控制台程序(Console)5. 2 控制台屏幕上的坐标 `COORD`5. 3 GetStdHandle5. 4 GetConsoleCursorlnfo5. 4. 1 CONSOLE_CURSOR_INFO5. 4. 2 SetConsoleCursorlnfo5. 5 SetconsoleCursorPosition5. 6 GetAsyncKeyState原创 2024-08-26 15:59:58 · 2362 阅读 · 131 评论 -
【数据结构初阶】单链表接口实现超详解
1. 顺序表问题与思考2.单链表2. 1 概念与结构2.1.1 结点2.1.2 链表的性质3. 单链表实现3. 1 单链表初始化3. 2 单链表的打印3. 3 头插3. 4 创建新节点3. 5 尾插3. 6 头删和尾删3. 7 查找3. 8 在指定位置之后插入或删除3. 9 在指定位置前面插入或删除指定位置3. 10 销毁原创 2024-08-22 19:35:48 · 2375 阅读 · 110 评论 -
【数据结构初阶】顺序表接口实现及双指针法超详解
1. 线性表2. 顺序表概念与结构3. 顺序表分类3. 1 静态顺序表3. 2 动态顺序表3. 2. 1 前期准备3. 2. 1 创建与销毁3. 2. 2 打印3. 2. 3 尾插3. 2. 3 检查空间是否足够3. 2. 4 头插3. 2. 5 尾删和头删3. 2. 6 查找3. 2. 7 插入与删除3. 2. 8 注意事项总结3. 2. 8 最终测试4. 双指针法4. 1 移除元素4. 2 删除有序数组中的重复项4. 3 合并两个有序数组原创 2024-08-20 14:36:36 · 1915 阅读 · 75 评论 -
数据结构初阶——算法复杂度超详解
1.数据结构前言1.1 数据结构1.2 算法2.算法效率2.1 复杂度的概念3. 时间复杂度3.1 大O的渐进表示法3.2 时间复杂度计算示例 示例1 示例2 示例3 示例4 示例5 示例6 示例74. 空间复杂度4.1 空间复杂度计算示例4.1.1 示例14.1.2 示例25. 常见复杂度对比6.复杂度算法题——[旋转数组](https://leetcode.cn/problems/rotate-array/description/)思路1思路2思路3原创 2024-08-15 21:12:13 · 2150 阅读 · 67 评论