数据结构复习
文章平均质量分 61
面试用,复习基础知识,以考研大纲为基础
BBBourne
这个作者很懒,什么都没留下…
展开
-
代码随想录:刷题记录(更新中)
代码随想录刷题记录原创 2022-07-16 17:48:12 · 219 阅读 · 0 评论 -
散列表(Hash)-复习
1.定义一般来说,散列可以浓缩成一句话“将元素通过一个函数转换为整数,使得该整数可以唯一的代表这个元素。”其中把这个转换函数称为散列函数H,也就是说,如果元素在转换前为key,那么转换后就是一个整数H(key)。那么对于key是整数的情况来说,有哪些常用的散列函数呢?一般来说有以下几种:①直接定址法:即恒等变换(即H(key)=key)②线性变换法:即H(key)=a*key+b;③平方取中法(很少用):取key的平方的中间若干位作为hash值。④除留余数法:把key除以一个数mod原创 2022-05-23 15:05:49 · 384 阅读 · 0 评论 -
平衡二叉树(AVL树)复习
不是教学博客。。只为自己复习做笔记了。直接上代码,不多bb1.平衡二叉树的定义①AVL是一颗二叉查找树,在其基础上增加了“平衡”的要求②平衡:左子树于右子树的高度之差绝对值不超过1,这个高度差成为平衡因子③只要随时保证每个结点平衡因子绝对值不超过1,AVL的高度就始终能保持O(logn)级别。由于需要对每个结点都得到平衡因子,因此需要在树的结构中加入一个变量height,用来记录当前结点为根结点的子树高度:struct node { int v, height; node.原创 2022-05-22 20:19:18 · 290 阅读 · 0 评论 -
堆排序(大顶堆)
#include<string>#include <iostream>#include<algorithm>#include<vector>using namespace std;void adjust_heap(int a[],int root,int length){ int left=2*root+1; int right=2*root+2; int max=root; if(left<length && a[.原创 2022-05-22 14:51:17 · 135 阅读 · 0 评论