软件设计师——数据结构

本博文所有内容来自于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

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

哈希

越有序越慢

交叉越多比较越多

相关推荐
水云桐程序员1 小时前
从零开发软件的步骤,软件开发从零到完成应该怎么做?
笔记·学习·软件构建·个人开发
David猪大卫1 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
叼烟扛炮3 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
老师我太想进步了20267 小时前
【数据结构-4】算法美学之顺序表
数据结构·算法
叼烟扛炮9 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
陈布衣10 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
缘来是你远去是我14 小时前
本地个人笔记exe
笔记
GrowingIO技术社区14 小时前
CDP、行为分析、归因与营销自动化有什么区别?
数据结构·数据挖掘·数据分析
GrowingIO技术社区14 小时前
实时标签怎样验收?从数据更新到分群可用
数据结构·数据挖掘·数据分析
FakeOccupational14 小时前
【电路笔记 STM32】RTC配置:晶振选择+闹钟Configuration+中断设置
笔记·stm32·实时音视频