算法和数据结构
城志
这个作者很懒,什么都没留下…
展开
-
跟我一起学算法——红黑树
目录 定义 性质 旋转 插入 数据结构扩张 应用 参考 定义红黑树(red-black tree)是一种改进的二叉查找树,结点域中增加颜色属性(红或黑)。二叉查找树的一般操作的时间为 O(lgn)。但若它退...原创 2020-03-03 15:14:00 · 325 阅读 · 0 评论 -
跟我一起学算法——最大流
目录 定义 流网络((flownetwork)) 多源多汇 剩余网络(residual network) 增广路径((Augmenting Path) 截(Cut) Ford-Fulkerson算法 Edm...原创 2020-03-03 15:16:00 · 145 阅读 · 0 评论 -
跟我一起学算法——贪心算法
目录 思想 条件 贪心算法正确性的证明() 贪心选择的证明,方法一: 贪心选择的证明,方法二——剪枝法: 最优子结构证明: 应用:活动选择问题 贪心选择的证明 应用:Huf...原创 2020-03-03 15:18:00 · 263 阅读 · 0 评论 -
跟我一起学算法——斐波那契堆
斐波那契堆(Fibonacci Heap)1. 定义FibHeap是一个树的集合,且树满足最小堆性质。根表不要求树根的度有序,head指向根表中值最小的结点。全部使用双向循环链表。KEY:防止超出O(lgn)的操作出现,也即防止出现度超过O(lgn)的树出现,只要能保证D(n)<=lgn,其性能优于二项堆。2. 数据结构结点的域p:父指针left,right:左...原创 2020-03-03 15:20:00 · 110 阅读 · 0 评论 -
跟我一起学算法——动态规划
目录 1. 步骤 2. 要素 3. 装配线调度 4. 矩阵链乘 5. 最长公共子序列(Longest Common Subsequece) 6. 最优二叉查找树(Optimal Binary Search Tree) 1. 步...原创 2020-03-03 15:21:00 · 107 阅读 · 0 评论 -
跟我一起学算法——二项堆
目录 1.二叉堆(Binary Heap)、二项堆、斐波那契堆(简称Fib堆)的比较: 2. 二项树 2.1 定义 2.2 二项树B_k的性质 3. 二项堆 3.1 定义 3.2 数据结构 3.3 操作 ...原创 2020-03-03 15:27:00 · 576 阅读 · 1 评论 -
跟我一起学算法——分治法
目录 1.定义 2.适用条件分析 3.步骤 应用1:归并排序 步骤 算法 算法分析 应用2:快速排序 基本思想 算法 算法分析 ...原创 2020-03-03 15:23:00 · 201 阅读 · 0 评论 -
算法题轻松解析——汇总
算法LeetCode、剑指offer、《程序员代码面试指南》左程云1. 链表编号题目难度实现分析LeetCode92反转m-n部分的链表中等Java分析LeetCode83删除链表中的重复元素简单Java分析LeetCode82删除链表中所有重复元素中等Java分析LeetCode21合并有序链表简单Java...原创 2020-03-05 20:59:00 · 160 阅读 · 0 评论 -
深入理解索引和AVL树、B-树、B+树的关系
目录 什么是索引 索引的分类 索引和AVL树、B-树、B+树的关系 AVL树、红黑树 B-树 B+树 SQL和NoSQL索引 参考 什么是索引索引时数据库的一种数据结构,数据库与索引的关系可以...原创 2020-03-21 18:40:00 · 573 阅读 · 0 评论 -
Java刷题常用API
目录输入输出快速查看最大最小值stringstringbuilder集合mapqueuestackset优先队列 PriorityQueue (Heap)数组静态数组动态数组Math输入输出Scanner sc = new Scanner(System.in);String s = sc.next();//字符串double t = sc.nextDouble(); //浮点数...原创 2020-08-13 09:31:00 · 427 阅读 · 0 评论