
算法和数据结构
文章平均质量分 58
数据结构算法的认识和实现代码
曦樂~
好记性不如烂笔头
展开
-
【图】拓扑排序
有向无环图中,若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。2.栈不空 获取栈顶元素top 出栈 并将以top为弧尾的弧删除。继续执行1,2,直到栈空或所有顶点被访问完。将元素按照一定的时间(执行)顺序排序。1.借助栈 将所有入度为0的顶点入栈。生成拓扑序列的排序为拓扑排序。原创 2023-06-11 14:59:17 · 145 阅读 · 0 评论 -
【图】单源最短路径
迪杰斯特拉算法原创 2023-06-04 22:25:03 · 804 阅读 · 0 评论 -
【图】最小生成树
n个顶点n-1条边:找权最小的边,更新数组;克鲁斯卡尔算法主要针对边展开,边数少时效率高,针对稀疏图优势大;加边,选择图中边权最小的,且不能构成一个环。最小生成树:构造连通网的最小代价生成树。最小生成树有两种算法:普利姆算法、克鲁斯卡尔算法。需要两个一维数组,一个存权值,另一个存起始点;加点,选择相邻点中边权最小的。普利姆算法对于稠密图更好。原创 2023-05-20 22:10:16 · 952 阅读 · 0 评论 -
【图】DFS、BFS遍历
广度优先和深度优先遍历的实现原创 2023-05-13 19:27:51 · 719 阅读 · 0 评论 -
【图】邻接表
无向图邻接表的创建和操作实现原创 2023-05-08 23:46:00 · 580 阅读 · 0 评论 -
【图】邻接矩阵
无向图邻接矩阵的实现原创 2023-05-01 18:03:15 · 1383 阅读 · 2 评论 -
【查找】二叉排序树(BST)
二叉排序树(二叉搜索树)的插入,查找,删除原创 2023-04-22 12:27:12 · 439 阅读 · 0 评论 -
LIST源码解析
list双向循环链表原创 2023-04-06 22:39:08 · 305 阅读 · 0 评论 -
【树】哈夫曼树和哈夫曼编码
哈夫曼树的概念和建立,哈夫曼编码的计算实现原创 2023-01-31 01:20:40 · 1196 阅读 · 0 评论 -
【树】二叉树的判定
满二叉树和完全二叉树的判定原创 2023-01-29 23:09:44 · 1017 阅读 · 0 评论 -
【树】二叉树的两种非递归遍历方法
用栈非递归的前、中、后遍历和层次遍历原创 2023-01-28 01:22:56 · 410 阅读 · 0 评论 -
【树】二叉树递归遍历和创建
二叉树的前、中、后序遍历,和数组,已知先序中序、先序后序序列创建二叉树原创 2023-01-26 23:14:29 · 894 阅读 · 0 评论 -
【树】树、二叉树的基础知识
概念、术语、结构原创 2023-01-15 00:07:31 · 837 阅读 · 0 评论 -
实现优先级队列
优先级队列的实现——堆的调整原创 2023-01-14 21:44:12 · 276 阅读 · 0 评论 -
堆排序(升序&降序)
创建大/小根堆,完成升序/降序排序原创 2023-01-13 23:30:00 · 3536 阅读 · 1 评论 -
递归、非递归的归并排序及其优化
归并排序实现,非递归归并排序!!!!原创 2023-01-11 00:27:43 · 370 阅读 · 0 评论 -
【分治策略】查询中位数&最接近点对
查询中位数和最接近点对都用到了分治(与快排相似的划分方法)原创 2023-01-10 16:54:43 · 659 阅读 · 0 评论 -
递归、迭代、单向快排的实现和两种优化方法
快速排序,随机选择策略和三位取中优化,使用队列完成非递归的快排和单向快排原创 2023-01-09 20:50:26 · 1003 阅读 · 0 评论 -
排列树和子集树
排列树和子集树原创 2023-01-09 15:59:22 · 986 阅读 · 0 评论 -
二分查找及其扩展
有多个与key相等数据,有序循环数组,第一个大于key的元素的二分查找原创 2023-01-09 00:08:33 · 390 阅读 · 0 评论 -
分治和递归
递归分治的概念,斐波拉切数列,阶乘原创 2023-01-08 20:47:56 · 400 阅读 · 0 评论 -
【队列】链式队列
有头节点的链式队列原创 2022-12-03 10:16:45 · 1165 阅读 · 0 评论 -
【队列】可扩容顺序队列
可扩容的循环顺序队列原创 2022-12-02 13:32:16 · 316 阅读 · 0 评论 -
【队列】定长顺序循环队列
定长顺序队列的实现原创 2022-11-28 22:58:49 · 190 阅读 · 0 评论 -
【栈】可扩容顺序栈
顺序栈的一些操作原创 2022-11-19 21:00:53 · 930 阅读 · 0 评论 -
【栈】实现链式栈
实现链式栈原创 2022-11-13 11:25:19 · 100 阅读 · 0 评论 -
【链表】静态链表的基础操作
用顺序表模拟链表。完成初始化,插入,删除等操作原创 2022-11-12 12:51:32 · 1200 阅读 · 2 评论 -
【链表】循环链表的基础操作
基础操作包括:初始化、头插、尾插、求链表长度、按位置插、判断是否为空、查找、删除、返回前驱后继下标,输出、清空、销毁。原创 2022-11-12 11:36:32 · 905 阅读 · 0 评论 -
【链表】双向链表的插入与删除
双向链表的插入和删除操作原创 2022-11-05 20:28:05 · 2023 阅读 · 0 评论 -
【链表】单链表的基础操作
单链表的基本操作,插入、删除、求长度等原创 2022-10-29 20:36:06 · 405 阅读 · 0 评论 -
【顺序表】不定长顺序表
不定长顺序表与定长顺序表的区别点原创 2022-10-23 16:23:19 · 199 阅读 · 1 评论 -
【顺序表】定长顺序表
最常用最简单的数据结构,顺序表原创 2022-10-19 21:22:37 · 222 阅读 · 0 评论 -
【数据结构】基本概念和术语
数据结构基本概念原创 2022-10-19 21:19:23 · 152 阅读 · 0 评论