软件设计师——数据结构

本博文所有内容来自于B站up主zst_2001


目录

时间复杂度

常规数据结构

链表

[栈与队列 ​编辑](#栈与队列 编辑)

数组

卡特兰数:

平衡二叉树

哈夫曼

AOV

排序

顺序

折半

哈希


时间复杂度


常规数据结构

链表

栈与队列

找i位置前面的字符串,看前后缀,最长相等的长度+1即可 ,但不能同时又第一个和最后一个

数组

下三角矩阵的公式就是M**((i*(i+1))/2+j+1)**

对角矩阵如果是从(0,0)开始的话,公式就是2i+j+1

对角矩阵如果是从(1,1) 开始的话,公式就是2i+j-2

因为2(i-1)+(j-1)+1 = 2i+j-2

上三角的计算公式是:( j*(j+1)/2+i+1 )

卡特兰数:

平衡二叉树

:二叉树任意一个结点的左右子树的高度差不能大于1

总的节点个数是 2n - 1

18,32,4,8,12,26

5,24,8,17,34,4,13

哈夫曼

压缩比 = (等长编码 - 哈夫曼编码)/ 等长编码

等长编码,看几位,比如有5个数据,那么至少要有3为比特位才能表示,因为2^2 = 4<5, 2^3=8>5

度数 = 总边数*2

广度优先遍历也是一样的

AOV


排序

顺序

折半

折半查找比较最多的次数是 logN的下界+1

要么小大小大,大小大小交替出现,要么就顺序出现

哈希

越有序越慢

交叉越多比较越多

相关推荐
じ☆冷颜〃5 小时前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
散峰而望8 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
郭涤生8 小时前
第十章_信号_《UNIX环境高级编程(第三版)》_笔记
服务器·笔记·unix
QT 小鲜肉8 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
巧克力味的桃子9 小时前
单链表 - 有序插入并输出学习笔记
笔记·学习
智者知已应修善业9 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
LYFlied10 小时前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
历程里程碑10 小时前
滑动窗口最大值:单调队列高效解法
数据结构·算法·leetcode
量子炒饭大师10 小时前
Cyber骇客的逻辑节点美学 ——【初阶数据结构与算法】二叉树
c语言·数据结构·c++·链表·排序算法
Huanzhi_Lin11 小时前
图形渲染管线流程笔记
笔记·图形渲染·shader·glsl