软件设计师——数据结构

news/2024/10/5 18:07:18 标签: 数据结构, 笔记

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

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

哈希

 

越有序越慢

交叉越多比较越多


http://www.niftyadmin.cn/n/5691134.html

相关文章

优优嗨聚集团:债务纠纷下的个人财务困境揭秘

在当今社会&#xff0c;随着经济活动的日益频繁与复杂化&#xff0c;债务问题已成为许多人生活中难以回避的挑战之一。债务纠纷&#xff0c;作为这一问题的直接体现&#xff0c;不仅关乎金钱的得失&#xff0c;更深刻地影响着个人的生活方方面面&#xff0c;从心理健康、家庭关…

电器自动化入门08:隔离变压器、行程开关介绍及选型

视频链接&#xff1a;3.4 电工知识&#xff1a;三相交流异步电动机自动往返行程控制及控制变压器选型_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW?p8&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.隔离&#xff08;控制&#xff09;变压器 2.行程开…

win11无法输入中文,任务栏中输入法消失

一、问题描述 今日起了个大早&#xff0c;一打开电脑&#xff0c;王德发&#xff0c;我的输入法呢&#xff1f;&#xff1f;&#xff1f;我没了输入法就像西方没了耶路撒冷&#xff0c;刚睡醒懵笔的我瞬间懵笔了┏┛墓┗┓…(((m -__-)m 二、解决办法 心急如焚的我立马上网…

Salesforce AI 推全新大语言模型评估家族SFR-Judge 基于Llama3构建

在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展迅速&#xff0c;已经在多个领域取得了显著的进展。不过&#xff0c;随着模型的复杂性增加&#xff0c;如何准确评估它们的输出就变得至关重要。传统上&#xff0c;我们依赖人类来进行评估&#…

isinstance()学习

aa {} if isinstance(aa,dict):print("是")aa 2 if isinstance(aa,dict):print("是")aa 2 if isinstance(aa,int):print("是")aa [] if isinstance(aa,list):print("list")aa [1,2,3] if isinstance(aa,list):print("list"…

MongoDB-aggregate流式计算:带条件的关联查询使用案例分析

在数据库的查询中&#xff0c;是一定会遇到表关联查询的。当两张大表关联时&#xff0c;时常会遇到性能和资源问题。这篇文章就是用一个例子来分享MongoDB带条件的关联查询发挥的作用。 假设工作环境中有两张MongoDB集合&#xff1a;SC_DATA&#xff08;学生基本信息集合&…

java基础进阶知识点汇总(1)

本文章是在学习《java核心技术》时记录的笔记 一、对象与类 面向对象程序设计&#xff08;object-oriented programming,OOP&#xff09;是当今主流的程序设计范型&#xff0c;它取代了20世纪70年代的“结构化”或过程式编程技术。由于java是面向对象的&#xff0c;所以必须熟…

【C++打怪之路Lv7】-- 模板初阶

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分82)&#…