数据结构期末复习【更新】

news2025/1/18 2:11:21

数据结构期末复习【更新】

  • 1.模式匹配
  • 2.画二叉树(根据中序和后序,前序和中序)及其线索二叉树
  • 3.求叶子结点个数
  • 4.建立二叉排序树
  • 5.广义表
  • 6.求存储地址
  • 7.代码设计
  • 8.哈夫曼树
  • 9.最小生成树
  • 10.深度遍历、广度遍历、邻接表建立
  • 11.哈希表(线性探测法、拉链法)
  • 12.排序

1.模式匹配

给出字符串’abacacaaad’在KMP算法中的next和nextval数组。
在这里插入图片描述

2.画二叉树(根据中序和后序,前序和中序)及其线索二叉树

2.1已知一棵二叉树的后序遍历和中序遍历的序列分别为:
在这里插入图片描述
2.2已知一棵二叉树的前序遍历和中序遍历的序列分别为:
在这里插入图片描述
线索二叉树
在这里插入图片描述

3.求叶子结点个数

已知一颗度为3的树中,有度数为3的结点100个,度数为2的结点200个,求叶子结点的个数,并给出推导过程。
在这里插入图片描述

4.建立二叉排序树

对于给定结点的关键字集合K=[34,76,45,18,26,54,92,38]
(1)试构建一棵二叉排序树(2)查找54需要比较几次?查找100的比较次数?(3)求等概率情况下查找成功的平均查找长度ASL
在这里插入图片描述

5.广义表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.求存储地址

数组元素a[0…2][0…3]的首地址为2000,元素长度为4,求LOC[1,2].
LOC【1,2】=2000+(i*n+j)*k (n为二维数组列的个数,k为元素长度)i=1 j=2

7.代码设计

8.哈夫曼树

假设用于通信的电文仅由A、B、C、D、E、F、G 8个字母组成,字母在电文中出现的频率分别为7,19,2,6,32,3,21,10。试为这8个字母设计哈夫曼树及哈夫曼编码。
在这里插入图片描述

9.最小生成树

对于下图所示的带权无向图,给出利用普里姆算法(从顶点0开始构造)和克鲁斯卡尔算法构造出的最小生成树,并按求解的顺序给出最小生成树的所有边,每条边用(i,j)表示)。
在这里插入图片描述
{(0,1),(0,3),(1,2),(2,5),(5,4)}
{(0,1),(0,3),(1,2),(4,5),(2,5)}
在这里插入图片描述

带权无向图G(顶点分别为V1,V2,V3,V4,V5,V6)的邻接矩阵是A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.深度遍历、广度遍历、邻接表建立

11.哈希表(线性探测法、拉链法)

设哈希表的长度m=13;哈希函数为H(K)=K%m,给定的关键码序列为19,14,23,01,68,20,84,27,55,11,试填出用线性探查法和链地址法解决冲突时所构造的哈希表。并求在每种哈希表上成功查找的ASL。
在这里插入图片描述
在这里插入图片描述

12.排序

已知关键字序列为 (34,23,56,32,45,58,89,20,25,50),分别用下列排序方法进行排序,分别写出每趟排序结果,并指出算法的稳定性。1)快速排序 2)希尔排序 3)堆排序
(1)
(25,23,20,32,34,58,89,45,56,50)
(20,23,25,32,34,50,56,45,58,89)
(20,23,25,32,34,45,50,56,58,89) 划分的子表为1或0停止即可
不稳定
(2)
(34,23,20,25,45,58,89,56,32,50)
(20,23,32,25,34,50,45,56,89,58)
(20,23,25,32,34,45,50,56,58,89)
不稳定
(3)
(58,50,56,32,45,34,23,20,25,89)
(56,50,34,32,45,25,23,20,58,89)
(50,45,34,32,20,25,23,56,58,89)
(45,32,34,23,20,25,50,56,58,89)
(34,32,25,23,20,45,50,56,58,89)
(32,23,25,20,34,45,50,56,58,89)
(25,23,20,32,34,45,50,56,58,89)
(23,20,25,32,34,45,50,56,58,89)
(20,23,25,32,34,45,50,56,58,89)
不稳定

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

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

相关文章

【Leetcode60天带刷】day28回溯算法——93.复原IP地址 ,78.子集 , 90.子集II

​ 题目: 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xf…

【Leetcode60天带刷】day22二叉树—— 235. 二叉搜索树的最近公共祖先 ,701.二叉搜索树中的插入操作 ,450.删除二叉搜索树中的节点

​ 题目: 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先…

【Leetcode60天带刷】day23二叉树—— 669. 修剪二叉搜索树 ,108.将有序数组转换为二叉搜索树 , 538.把二叉搜索树转换为累加树

​ 题目: 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除&…

高速板材应用案例

要求如下: 高速信号部分有12.5Gbps Interlaken信号、QPI、PCIe3.0信号(后面有兼容PCIe4.0的要求),另外还有10.3125Gbps到光口信号;高速信号损耗要求: -0.8dB/inch@4GHz,-1.6dB/inch@8GHz差分信号阻抗控制有85ohm、90ohm和100ohm,单端按照50ohm控制,阻抗及线宽控制表如下…

【Leetcode60天带刷】day29回溯算法——491.递增子序列, 46.全排列, 47.全排列 II

​ 题目: 491. 递增子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递…

基于免疫优化算法的线性规划问题求解(matlab程序)

0.代码链接 基于免疫优化算法的线性规划问题求解(matlab程序)资源-CSDN文库 1.简述 免疫算法(Immune Algorithm,IA):是指以在人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别…

【LeetCode】动态规划 刷题训练(二)

文章目录 62. 不同路径题目解析状态转移方程完整代码 63. 不同路径 II题目解析状态转移方程完整代码 剑指 Offer 47. 礼物的最大价值题目解析状态转移方程完整代码 62. 不同路径 点击查看:不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图…

树莓派与STM32之间串口通信

目录 一、树莓派串口通信模块介绍 二、树莓派蓝牙、串口引脚映射对换步骤 1.启动串口 2. 禁用蓝牙(硬件串口与mini串口映射对换) 3.验证是否交换成功 三、树莓派安装mini串口调试助手 四、树莓派与电脑串口调试 五、树莓派与STM32串口调试 一、树…

Stable-Diffusion-webui mac m1安装

Stable-Diffusion-webui mac m1安装 推荐下载器:neat download manager 安装git python 3.10 下载地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui 我这边是通过pycharm 通过git直接拉取到本地的,下载的,最好先建…

使用AI轻松搞定UI设计;a16z:快速高效使用LLM构建应用程序;AI时代99%软件都会消失;豆瓣9.3的经典Python入门书 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 Indeed:美国5月份生成式AI职位发布量增长 20% Indeed 是美国就业门户网站,根据其最新发布的数据显示&#xff…

Golang -> Golang 的概述

Golang 的概述 Golang 的语言的特点Golang 的开发工具Golang 的版本 Golang 的语言的特点 简介: Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率 使用一个表达式来形容 Go 语言:Go C Python 说明 Go …

书虫“Bookworm”出山:Debian 版本代号与《玩具总动员》

作为最受欢迎的 Linux 发行版之一,Debian 是许多其他发行版的基础,许多非常受欢迎的 Linux 发行版,例如 Ubuntu、Knoppix、PureOS 、Tails、Armbian 以及 Raspbian,都基于 Debian。 经过近 20 个月的开发,2023 年 6 月…

VMware vCenter Server 8.0U1b 发布下载(重要安全更新)

VMware vCenter Server 8.0U1b 发布下载(重要安全更新) 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u1/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org VMware vCenter Serve…

【数据网格架构】数据网格架构模式

企业数据网格正在彻底改变企业管理数据的方式。什么是基础数据网格模式? 数据网格模式 企业数据网格正在成为一种独特且引人注目的方式来管理企业内的数据。它将“产品思维”引入企业数据管理,同时在企业中实现更高水平的敏捷性和数据治理。它创造了一种…

行为型模式--迭代器模式

目录 概述 结构 案例实现 优缺点 优点: 缺点: 使用场景 概述 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate&#xf…

【裸机开发】IRQ 中断服务函数(二)—— 全局中断初始化

实现了 IRQ 中断服务函数的汇编部分以后,接下来我们要使用C代码实现IRQ中断服务函数的具体逻辑,主要包含初始化和中断处理两部分。 全局中断初始化(全局中断使能、IRQ中断使能)具体中断处理逻辑实现 目录 一、全局中断初始化&am…

【C++】第14章: C++中的代码重用

第十四章 C中的代码重用 文章目录 第十四章 C中的代码重用引言14.1 valarray类简介14.1.1 接口和实现14.1.2 C和约束14.1.3 初始化顺序 14.2 has a14.2.1 组合14.2.2 私有继承14.2.2.1 访问基类的方法14.2.2.2 访问基类对象14.2.2.3 访问基类的友元函数 14.2.3 使用组合还是私有…

【软件工程导论】从已考完期末的角度记录软导常考内容

文章目录 软件工程概念软件过程模型(了解)软件生存周期划分数据流图内聚与耦合的种类UML中的主要图及其作用MVC模式MVVM模式黑盒测试白盒测试白盒测试法的逻辑覆盖标准 软件工程概念 什么是软件工程?它的目标和内容是什么? 软件工…

无处不在 | 亚马逊云科技的 Java 生态

Java 自诞生以来就一直是热门的编程语言。得益于丰富的生态以及完善维护的包和框架,Java 拥有着庞大的开发者社区。这个 1995 年诞生的计算机语言,以 “一次编写,到处运行” 的跨平台特性以及面向对象、泛型编程等现代语言的特性迅速成为了企…

企业如何通过精细化管理实现高质量增长?

增量经济时代,各行各业都有比较充足的发展机会,即使采取相似的发展模式、提供同质化的产品和服务,也都会获得收益和增长。当前,我国开始步入存量经济时代,增量空间正逐步被压缩,这将对区域格局、产业组织结…