二叉搜索树 二叉搜索树是一颗二叉树 每个节点应该包含三个属性 left, right, p, 根节点p为NIL 设x是二叉搜索树的一个节点, y是x左子树的一个节点, 那么y.key <= x.key, 若y是x右子树的一个节点...
阅读(7) 评论(0)
计数排序 计数排序假设n个输入元素都是0到k区间的一个整数(k为某整数) 当k为O(n)时,排序的时间为O(n) 计数排序基本思想是:对于每个输入元素x, 确定小于x的元素个数 先新建一个可变数组c, 初始化为0 let mut c:...
阅读(5) 评论(0)
优先队列 优先队列是用来维护一组元素集合的数据结构 一个最小优先队列支持下列操作: heap_insert_key(i, key)把key插入键i的值 heap_extract_min()删除并返回堆的最小值 可以用堆来实现优先队列...
阅读(5) 评论(0)
堆排序 堆是一个数组,可以看成一颗二叉树 struct Heap(Vec<i32>); impl Heap { //父节点索引 fn parent(i: usize) -> usize {...
阅读(8) 评论(0)