读《大话数据结构》溢彩加强版

news2025/7/16 3:58:06

在这里插入图片描述

源代码:
C:\迅雷下载\2021072816023491335\59e95a4689eeb92f380f4ab2\202107\29976aaa-ef7a-11eb-aba5-00163e0a088c
PPT:
C:\迅雷下载\2021072816023491335\59e95a4689eeb92f380f4ab2\202009\942a5ce8-fe34-11ea-a6a1-00163e0396a1
参考文献:
C:\迅雷下载\2021072816023491335\59e95a4689eeb92f380f4ab2\202009\c53b3bcc-fe34-11ea-97a4-00163e0a088c

2.5 算法的特性

  • 输入
  • 输出
  • 有穷性
  • 确定性
  • 可行性

2.6 算法设计的要求

  • 正确性
  • 可读性
  • 健壮性
  • 时间效率高和存储量低

2.9

推导大 O 阶方法
1)用常数 1 取代运行时间中的所有加法常数。
即,不论算法函数运行多少次,只要是通过加法得到的,就改为 1。
2)在修改后的运行次数函数中,只保留最高阶项
3)如果最高阶项存在且其系数不是 1,则去除与这个项相乘的系数。
得到的结果就是大 O 阶。

2.9.5 对数阶

2 x Count >= n 退出循环
由 2Count = n 得到 x = log2n,时间复杂度是 O(logn)

2.10 常见的时间复杂度

常数阶
12
O(1)

线性阶
2n + 3
O(n)

平方阶
3n2 + 2n + 1
O(n2)

对数阶
5log2n + 20
O(logn)

nlogn阶
2n + 3nlog2n + 19
O(nlogn)

立方阶
6n3 + 2n2 + 3n + 4
O(n3)

指数阶
2n
O(2n)

时间复杂度耗费的时间从小到大排:
O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

第3章,线性表

线性表:(List) 零个或多个元素的有限序列。

数组长度:存放线性表的存储空间的长度,存储分配后这个量一般是不变的。

线性表的长度:线性表中数据元素的个数,随着线性表插入和删除操作的进行,这个量是变化的。

任意时刻,线性表的长度应该小于等于数组的长度。

3.5 顺序存储结构的插入与删除

优点:

  • 无须为表示表中元素之间的逻辑关系而增加额外的存储空间。
  • 可以快速地存取表中任一位置的元素。
    缺点:
  • 插入和删除操作需要移动大量元素。
  • 当线性表长度变化较大时,难以确定存储空间的容量。
  • 造成存储空间的“碎片”

3.6 线性表的链式存储结构

节点:

  • 节点数据
  • 下一节点地址

3.7 单链表的读取

要通过循环的移动下标,判断,才能读取到指定下标的数据。

3.8 单链表的插入与删除

3.9 单链表的整表创建

1)声明一指针 p 和计数器变量 l
2)初始化一空链表 L。
3)让 L 的头结点的指针指向 NULL,即建立一个带头结点的单链表。
4)循环:
(1)生成一新结点赋值给 p
(2)随机生成一数字赋值给 p 的数据域 p->data
(3)将 p 插入到头结点与前一新结点之间。

3.10 单链表的整表删除

3.12 静态链表

3.13 循环链表

3.14 双向链表

第4章,栈与队列

4.6 栈的链式存储结构及实现

4.8 栈的应用 —— 递归

4.9 栈的应用 —— 四则运算表达式求值

后缀表达式:叫后缀的原因,在于所有的符号都是在要运算数字的后面出现。
一种不需要括号的后缀表达法,称为逆波兰表示(Reverse Polish Notation, RPN)。

4.10 队列的定义

4.12 循环队列

第5章,串(字符串)

5.6 朴素的模式匹配算法

110页,

5.7 KMP 模式匹配算法

第6章,树

6.8.2 二叉树的遍历方法

[[二叉树的遍历方法]]

书中规则的描述认为不清晰。

6.9 二叉树的建立

6.11 树、森林与二叉树的转换

第7章,图

7.6 最小生成树

普里姆( Prim )算法
克鲁斯卡尔( Kruskal )算法

7.7 最短路径

迪杰斯特拉( Dijkstra )算法
弗洛伊德( Floyd )算法

7.8 拓扑排序

7.9 关键路径

第8章,查找

8.3 顺序表查找

8.4 有序表查找

8.5 线性索引查找

8.6 二叉排序树

8.7 平衡二叉树(AVL 树)

8.8 多路查找树(B树)

8.9 散列表查找(哈希表)概述

8.10 散列函数的构造方法

  • 直接定址法:取关键字的某个线性函数值为散列地址
  • 数字分析法
  • 平方取中法
  • 折叠法
  • 除留余数法
  • 随机数法

8.11 处理散列冲突的方法

  • 开放定址法
  • 再散列函数法
  • 链地址法
  • 公共溢出区法

第9章,排序

9.3 冒泡排序

9.4 简单选择排序

9.5 直接插入排序

9.6 希尔排序

9.7 堆排序

9.8 归并排序

9.9 快速排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/38316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot整合JSR-303表单校验

JSR-303表单校验 思考一个问题&#xff0c;引出JSR-303 为什么前端做了参数校验&#xff0c;后端还要进行参数校验&#xff1f; 普通用户通过页面操作&#xff0c;前端可以校验住参数的正确性。但如果有人获取到接口&#xff0c;利用接口调用工具比如&#xff1a;postman对后…

Python 基础测试题(含答案)

一、 选择题&#xff1a;每小题 2 分&#xff0c;共 40 分。 1、 下列标识符命名中&#xff0c; 符合规范的是&#xff08; &#xff09;。 A、 1_a B、 for C、 年龄 D、 a#b 2、 下列标识符中&#xff0c;不是 Python 支持的数据类型的是 &#xff08; &#xff09;。 A、…

深度学习之Python,OpenCV中的卷积

这篇博客将介绍图像内核和卷积。如果将图像视为一个大矩阵&#xff0c;那么图像内核只是一个位于图像顶部的微小矩阵。从左到右和从上到下滑动内核&#xff0c;计算输入图像和内核之间的元素乘法总和——称这个值为内核输出。内核输出存储在与输入图像相同 &#xff08;x&#…

数据结构(高阶)—— 红黑树

目录 一、红黑树的概念 二、红黑树的性质 三、红黑树的结点定义 四、红黑树的插入 五、红黑树的验证 六、红黑树与AVL树的比较 一、红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加了一个存储位表示结点的颜色&#xff0c;可以使Red或Bl…

升级打怪拿offer,10w+字总结的Java面试题(附答案)够你刷

升级打怪拿offer&#xff0c;献上熬夜整理最新“10w字总结的Java面试题&#xff08;附答案&#xff09;”够你刷&#xff01; 其包含的内容模块有&#xff1a;基础、JVM、多线程与高并发、Spring、MyBatis、SpringBoot、MYSQL、SpringCloud、Dubbo、Nginx、MQ、数据结构与算法…

CF104064 E. Exchange Students(NWERC2021)

题目分析 首先需要观察到一个性质&#xff1a;在最优方案下的操作一定是首先交换距离最近能交换的两个点来达到交换的效果&#xff0c;这个很好理解&#xff1a;题目要求如果要交换两个人的位置&#xff0c;中间的人的身高必须严格小于这两个人&#xff0c;因此合法的交换操作仅…

生成对抗网络(GAN)

GAN简介 GAN思想是一种二人的零和博弈思想&#xff0c;GAN中有两个博弈者&#xff0c;一个生成器&#xff08;G&#xff09;&#xff0c;一个判别器&#xff08;D&#xff09;&#xff0c;这两个模型都有各自的输入和输出。具体功能如下&#xff1a; 生成器&#xff08;G&…

声门脉冲语音处理

对于 0<t<tpeak&#xff0c;gattack(t) 攻击部分&#xff0c;即上升分支的时间&#xff0c;时间 t 的范围从 0 秒到最大峰值时间 tpeak &#xff0c;图示例中选择为大约总长度的 35%&#xff0c;即 tpeak35%⋅T0&#xff0c;或者在样本 Lattack⌊35%⋅Lg⌉ 中&#xff0c…

2023年系统规划与设计管理师-第三章信息技术服务知识

一. 思维导图 二.IT 服务管理 (ITSM) 1. 什么是 IT 服务管理 (ITSM)&#xff1f; IT 服务管理 (ITSM) 包含一组策略和实践&#xff0c;这些策略和实践可用于为最终用户实施、交付和管理 IT 服务&#xff0c;以满足最终用户的既定需求和企业的既定目标。 在此定义中&#xff0…

otn 709帧结构

otn架构说明: 基于G.709接口,包括波分侧和客户侧,客户侧通常用于互联互通。 光通路净荷单元:OPU0/OPU1/OPU2/OPU3/OPU4/flex,主要用于完成业务同步或异步映射; 光通路数据单元:ODU0/ODU1/ODU2/ODU3/ODU4/ODU-flex,完成通道连接性能监测和子速率复用、 光通路传送单元…

POJ1008:玛雅日历

一、Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, professor discovered that the Maya civilization used a 365 day long year, called Haab, which had 19 months.…

Netty学习笔记

文章目录二、Netty 入门2.1、概述2.1.1、Netty 是什么&#xff1f;2.1.2、Netty 的作者2.1.3、Netty 的地位2.1.4、Netty 的优势2.2、Hello World2.2.1、目标2.2.2、服务器端2.2.3、客户端2.2.4、流程梳理&#x1f4a1; 提示2.3、组件2.3.1、EventLoop&#x1f4a1; 优雅关闭演…

保姆级二进制安装高可用k8s集群文档(1.23.8)

保姆级二进制安装高可用k8s集群文档k8s搭建方式前期准备集群规划机器准备1、master vagrantfile2、master install.sh3、node vagrantfile4、node install.sh5、时间同步vagran 启动脚本vagrant up注意点安装conntrack 工具ipvs的安装VBoxManage snapshot 准备虚拟机快照ETCD部…

C语言编程作业参考答案

编程题参考答案 文章目录编程题参考答案week1_test选择结构-编程题循环结构上机练习数组编程函数编程2week1_test Write a program to output the average of 2 integers. #include <stdio.h>void main(){int a , b;double c;printf("Please enter 1 integers\n&q…

官网下载mysql 8.0.27及安装

https://www.mysql.com/downloads/&#xff0c;找到社区版下载链接MySQL Community (GPL) Downloads 1、 2、 3、 4、 5、

光谱异常样本检测分析

以近红外光谱为例&#xff0c;大部分光谱数据在不考虑分类问题时&#xff0c;在构建模型前需要对采集数据进行样本分析&#xff0c;以降低因生产过程异常、人为误操作和其他原因对软测量模型的影响&#xff0c;即异常样本检测分析。 按照定义&#xff0c;异常样本检测任务指的是…

k8s编程operator——(3) 自定义资源CRD.md

文章目录1、自定义资源的使用1.1 注册自定义资源1.2 使用自定义资源&#xff1a;1.3 Finalizers1.4 合法性验证2、如何操作自定义资源2.1 使用RestClient和DynamicClient来操作自定义资源对象2.2 使用sharedIndexInformer2.3 code-generator2.3.1 下载安装2.3.2 code-generator…

Ajax、Fetch、Axios三者的区别

1.Ajax&#xff08;Asynchronous JavaScript And XML&#xff09; Ajax 是一个技术统称&#xff0c;它很重要的特性之一就是让页面实现局部刷新。 特点&#xff1a; 局部刷新页面&#xff0c;无需重载整个页面。 简单来说&#xff0c;Ajax 是一种思想&#xff0c;XMLHttpReq…

毕业设计-基于机器学习的图片处理图片倾斜校正

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投…

如何简单理解大数据

如何简单理解大数据 HDFS-存储 海量的数据存储 hadoop 只是一套工具的总称&#xff0c;它包含三部分&#xff1a;HDFS&#xff0c;Yarn&#xff0c;MapReduce&#xff0c;功能分别是分布式文件存储、资源调度和计算。 按理来说&#xff0c;这就足够了&#xff0c;就可以完成大…