摘要: 二叉树的 c++实现 二叉树节点定义 template<typename T> struct BinTreeNode { T data; BinTreeNode *leftChild, *rightChild; BinTreeNode() :leftChild(nullptr), rightChil 阅读全文
posted @ 2021-12-24 17:08 Logan_Xu 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 树 c++ 版 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), le 阅读全文
posted @ 2021-12-24 17:03 Logan_Xu 阅读(21) 评论(0) 推荐(0) 编辑
摘要: [更新中.....] 数据结构与算法 线性表 数组 栈 队列 链表 散列表 散列函数 冲突解决 位图 动态扩容 树 二叉树 二叉查找树 字典树 平衡二叉树 平衡二叉查找树 多路查找树 堆 图 图的存储 关键路径 最小生成树 最短路径 拓扑排序 基本算法思想 动态规划 贪心算法 回溯算法 分治算法 枚 阅读全文
posted @ 2021-12-24 15:59 Logan_Xu 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 选择排序 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。 我们以 [ 8,2,5,9,7 ] 这组数字做例子。 ## 第一次选择 第一次选择,先找到数组中最小的数字 2 ,然 阅读全文
posted @ 2021-12-24 15:58 Logan_Xu 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 选择排序 插入排序的思想和我们打扑克摸牌的时候一样,从牌堆里一张一张摸起来的牌都是乱序的,我们会把摸起来的牌插入到左手中合适的位置,让左手中的牌时刻保持一个有序的状态。 那如果我们不是从牌堆里摸牌,而是左手里面初始化就是一堆乱牌呢? 一样的道理,我们把牌往手的右边挪一挪,把手的左边空出一点位置来,然 阅读全文
posted @ 2021-12-24 15:57 Logan_Xu 阅读(29) 评论(0) 推荐(0) 编辑