随笔分类 -  算法与数据结构

摘要:In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, s 阅读全文
posted @ 2022-06-29 16:13 schaepher 阅读(835) 评论(0) 推荐(0) 编辑
摘要:代码参考了以下两个链接: https://www.programiz.com/dsa/deletion-from-a-red-black-tree https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/ 阅读全文
posted @ 2022-06-20 17:02 schaepher 阅读(90) 评论(0) 推荐(0) 编辑
摘要:如果从先易后难的顺序介绍各种树,那么红黑树必然放在 AVL 树后面。但在红黑树之前,还有一种名为 2-3 树的平衡树(Balanced-Tree,B-树)。2-3 树理解起来比红黑树容易很多,并且在理解它的基础上增加一个变更,就成了红黑树(尽管不是通常使用的那种红黑树)。因此学习红黑树的时候,最好先 阅读全文
posted @ 2022-06-14 12:17 schaepher 阅读(243) 评论(0) 推荐(0) 编辑
摘要:背景 之前在了解二叉树旋转的时候,为了方便查看中间状态,就写了个以树状形式打印二叉树的函数。 起初是使用二叉树中序遍历的结果展开的方式,简单但打印出来的树有一定的倾斜。 例如这棵树: 5 3 7 2 6 8 它的中序遍历结果为: +++++++++++++ |2|3|5|6|7|8| +++++++ 阅读全文
posted @ 2022-06-01 20:30 schaepher 阅读(471) 评论(0) 推荐(0) 编辑
摘要:上一篇【因为一句话,秒懂二叉树旋转】把树旋转了解清楚,是为这一篇平衡二叉树准备的。 平衡二叉树,就是在二叉树的基础上加上一个条件:对于任意节点,左子树和右子树的树高之差不超过 1。 从实现的角度看,就是在已具备旋转功能的 Node 上增加一个 height 字段,并且在原先的代码上增加对 heigh 阅读全文
posted @ 2022-06-01 19:45 schaepher 阅读(444) 评论(2) 推荐(0) 编辑
摘要:事情要从某天晚上买夜宵说起。买了香肠拿着吃,想着多年来一直没搞懂的树旋转是不是应该看看,就点进某百科。 树旋转是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果。 中序遍历!灵光一闪,好像很多东西都联系起来了! 为什么是中序遍历 中序遍历是指按【左节点->父节点->右节 阅读全文
posted @ 2022-05-18 14:49 schaepher 阅读(1893) 评论(2) 推荐(6) 编辑
摘要:问题描述 给定两个字符串s1和s2,要求判断s2是否能够被通过s1做循环移位(rotate)得到的字符串包含。 样例输入 AABCD CDAA ABCD ACBD 样例输出 true false 代码 c include include bool search(char src, char des, 阅读全文
posted @ 2017-03-16 21:42 schaepher 阅读(432) 评论(0) 推荐(0) 编辑
摘要:题目链接: "Longest Palindromic Substring" 1. 问题描述 Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of 阅读全文
posted @ 2017-03-13 16:42 schaepher 阅读(821) 评论(3) 推荐(0) 编辑

点击右上角即可分享
微信分享提示