数据结构
文章平均质量分 80
爪哇贡尘拾Miraitow
行走在爪哇的道路上,懂得拾起大佬的智慧,想要贡献自己所得,哪怕微若尘埃
展开
-
560 和为 K 的子数组
边存边查看map,如果map中存在key为「当前前缀和-k」,说明这个之前出现的前缀和,满足「当前前缀和-该前缀和==k」,它出现的次数,累加给count。遍历nums之前,我们让-1对应的前缀和为0,这样通式在边界情况也成立。其实我们不关心具体是哪两项的前缀和之差等于k,只关心等于k的前缀和之差出现的次数c,就知道了有c个子数组求和等于k。遍历nums数组,求每一项的前缀和,统计对应的出现次数,以键值对存入map。时间复杂度O(n)。空间复杂度O(n)...原创 2022-07-23 21:07:51 · 348 阅读 · 0 评论 -
【三万字 树据大全】(二叉树,线索二叉树,赫夫曼树,二叉排序树)
创建一个二叉树 public class BinaryTree { TreeNode root; public TreeNode getRoot() { return root; } public void setRoot(TreeNode root) { this.root = root; } } 创建树节点 public class TreeNode { int value; TreeNode leftNode原创 2022-05-05 15:19:41 · 757 阅读 · 0 评论 -
一不小心就弄懂了 冒泡,选择,插入,希尔,归并和快速排序
今天我们主要看一些简单的排序 ???? 冒泡排序(Quicksort) 算法描述: ①. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ②. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 ③. 针对所有的元素重复以上的步骤,除了最后一个。 ④. 持续每次对越来越少的元素重复上面的步骤①~③,直到没有任何一对数字需要比较。 为了直观感受,在网上找个动态的演示 代码实现: 当数组中有n个元素时,只需要进行n轮比较,则整个数组就是有序的 pu原创 2021-12-24 23:19:41 · 7354 阅读 · 55 评论