数据结构+算法分析与设计[15-18真题版]
2015年考试试题
一、给出数组A[3..8,2..6]0F integer,当它在内存中按行存放和按列存放时,分别写出元素A[i,j]的地址计算公式(设每个元素占两个存储单元)。(10分)
二、已知一棵二叉树的中序序列的结果是BDCEAFHG,后序序列的结果是DECBHGFA,试画出这棵二叉树。(10分)
三、对下图所示的二叉树分别求出其先序、中序、后序序列。(10分)
四、己知图G如下,给出从顶点V1出发的一个深度优先生成树;给出从顶点V1出发产生的一个广度优先生成树。(10分)
五、使用克鲁斯卡尔算法构造出如下图所示的图G的一棵最小生成树。(10分)
六、试证明有n0个叶子的哈夫曼树共有2n0-1个结点。(10分)
七、给出一组关键字(12,2,16,30,28,10,16,20,6,18),分别写出按下列各种排序方法进行排序时的变化过程: (15分)
(1)直接排序,每排序一次书写一个次序。
(2)快速排序,每划分一次书写一个次序。
(3)堆排序,先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。
八、设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(Key)=Key MOD 13采用开放地址法的二次探测再散列方法解决冲突,试在0~18的散列地址空间中对该关键字序列构造哈希表。(15分)
九、有一份电文中共使用5个字符:A、B、C、D、E,它们出现的频率依次为4、7、5、2、9。
试画出对应的哈夫曼树(按左子树根结点的权小于等于右子树根结点的权的次序构造)。并求出每个字符的哈夫曼编码和带权路径长度。(15分)
十、编一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。(15分)
十一、编写一个程序,用“起泡法”对输入的20个字符按由小到大顺序排序。(15分)
十二、有数组A[4][4],把1到16个整数分别按顺序放入A[0][0],…,A[0][3],A[1][0],…,
A[1][3],A[2][0],…,A[2][3]A[3][0],…,A[3][3]中,编写一个函数获取数据并求出两对角线元素的乘积。(15分)
2016年考试试题
一、设有二维数组A[6][8],每个元素占6个字节存储,实现存放,A[0][0]的起始地址为1000,计算: (10分)
(1)数组最后一个元素A[5][7]的起始地址;
(2)按行优先存放时,元素A[1][4]的起始地址;
(3)按列优先存放时,元素A[4][7]的起始地址。
二、若有一棵二叉树,左右子树均有三个结点,其左子树的前序序列与中序序列相同,右子树的中序序列与后序序列相同,试构造该树。 (10分)
三、首先将下图所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度优先遍历,广度优先遍历的结果。(10分)
四、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树。(10分)
五、使用普里姆算法构造出如下图所示的图G的一棵最小生成树。(10分)
六、任意一个有n个结点的二叉树,已知它有m个叶子结点,试证明非叶子结点有(m-1)个度数为2,其余度数为1。(10分)
七、给出一组关键字(29,18,25,47,58,12,51,10),分别写出按下列各种排序方法进行排序时的变化过程:(15分)
(1)归并排序,每归并一次书写一个次序。
(2)快速排序,每划分一次书写一个次序。
(3)堆排序,先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。
八、对关键字序列7,4,1,14,100,30,5,9,20,134,设哈希函数为H(X)=X MOD 13。试给出表长为13的哈希表(用线性探测开放定址法处理冲突)。(15分)
九、假定用于通信的电文仅由8个字母cl,c2,c3,c4,c5,c6,c7,c8组成,各字母在电文中出现的频率分别为5,25,3,6,10,11,36,4。试为这8个字母设计不等长Huffman编码,并给出该电文的总码数。(15分)
十、试写一个双向冒泡排序的算法,即在排序过程中交替改变扫描方向。(15分)
十一、编写程序求1!+2!+3!+4!+…+30!之和。(15分)
十二、定义一个通讯录结构,成员包括:姓名(字符串)、电话(字符串)、生日(日期结构:年、月、日)。编写函数实现数据的输入、输出和按姓名查找。(15分)
2017年考试试题
一、设有一个10阶的对称矩阵A,采用以行优先的方式压缩存储。a11为第1个元素,其存储地址为1,每个元素占3个存储单元。问元素a85和a58的地址是多少?(10分)
二、已知二叉树的前序序列是A-B-D-G-C-E-F,中序序列是D-G-B-A-E-C-F,试画出这该棵二叉树。(10分)
三、己知图G如下,给出从顶点V1出发的一个深度优先生成树;给出从顶点V1出发产生的一个广度优先生成树。(10分)
四、已知一棵二叉树的中序序列为C-B-E-D-A-H-G-I-J-F,后序序列为C-E-D-B-H-J-I-G-F-A,试画出这棵二叉树的先序线索二叉树。(10分)
五、使用克鲁斯卡尔算法构造出如下图所示的图G的一棵最小生成树。(10分)
六、已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,…nm个度为m的结点,问该树中有多少个叶子结点。(10分)
七、设待排序的排序列为(12,2,16,30,28,10,16*,20,6,18),试分别写出按下列排序方法进行排序时的变化过程(即每趟排序后的结果)。(1)直接插入排序;(2)快速排序;(3)希尔排序。(15分)
八、设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(Key)=Key MOD 13采,用开放地址法的线性探测再散列方法解决冲突,试在0~18的散列地址空间中对该关键字序列构造哈希表。(15分)
九、有一份电文中共使用5个字符:A、B、C、D、E,它们出现的频率依次为4、7、5、2、9。试画出对应的哈夫曼树(按左子树根结点的权小于等于右子树根结点的权的次序构造)。并求出每个字符的哈夫曼编码和带权路径长度。(15分)
十、试编写将用二叉链表表示的完全二叉树转换为二叉树的顺序(数组)表示的算法。(15分)
十一、有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人。(15分)
十二、编写几个函数。(1)输入20个员工的姓名和员工号;(2)按员工号由小到大排序,姓名顺序也随之调整;(3)要求输入一个员工号,用折半查找法找出该员工的姓名。从主函数输入要查找的员工号,输入该项员工姓名。(15分)
2018年考试试题
一、设有一个二维数组A[m][n],假设A[0][0]存放位置在644,A[2][2]存放位置在676,每个元素占一个空间,问A[3][3]存放在什么位置。(10分)
二、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树。(10分)
三、己知图G的邻接表如下所示,顶点V1为出发点,完成下列要求,请画出:(1)由深度优先搜索得到的一棵生成树;(2)由广度优先搜索得到的一棵生成树。(10分)
四、首先将下图G所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度优先遍历,广度优先遍历的结果。(10分)
五、使用普里姆算法构造出如下图所示的图G的一棵最小生成树。(10分)
六、如果一棵树有n1个度为1的结点,有n2个度为2的结点,…,nm个度为m的结点,试问,有多少个度为0的结点?试推导之。(10分)
七、分别写出按下列各种排序方法对已知序列进行排序时的每一趟结果:(15分)
(1)冒泡排序,已知序列{17,18,60,40,7,32,73,65,85}。
(2)希尔排序,已知序列{10,18,4,3,6,12,1,9,15,8}。
(3)归并排序,已知序列{10,18,4,3,6,12,1,9,15,8}。
八、将序列13,15,22,8,34,19,21插入到一个初始时是空的散列表中,散列函数采用H(X)=1+(X MOD 7)。使用步长为3的线性探测法解决冲突。(15分)
九、已知A、B、C、D、E、F等字符的出现概率分别为0.26、0.1、0.12、0.16、0.28、0.08,求其不等长Huffman编码和平均码长。(15分)
十、编写一个函数,利用二分查找算法在一个有序表中插入一个元素X,并保持表的有序性。(15分)
十一、已知有函数的定义如下:(15分)
{n+1 if m=0
akm(m,n)={akm(m-1,1) if m<>0 n=0
{akm(m-1,akm(m,n-1) if m<>0 n<>0
(1)写出递归算法程序。
(2)写出非递归算法程序。
十二、将100名员工的个人信息从键盘输入、然后送到磁盘文件worker.rec中保存。设员工信息包括员工号、姓名、工资,再从磁盘读入这些数据,并依次显示在屏幕上(要用fread()函数和fwrite()函数),试编写程序。(15分)
相关文章:
数据结构+算法分析与设计[15-18真题版]
2015年考试试题 一、给出数组A[3..8,2..6]0F integer,当它在内存中按行存放和按列存放时,分别写出元素A[i,j]的地址计算公式(设每个元素占两个存储单元)。(10分) 二、已知一棵二叉树的中序序列的结果是BDCEAFHG,后序序列的结果是DECBHGFA,试画出这棵二叉树。(10分…...
单链表OJ题(2):反转链表(三指针法)、找中间节点(快慢指针)
目录 1.反转链表 反转链表总结: 2.链表的中间节点(快慢指针法) 快慢指针法总结 1.反转链表 在这道题中,我们需要把一个单链表反转它们的指向,这里,我们给出了一个好理解的简单解法,就是用三…...
Rows 行
Goto Data Grid 数据网格 Rows 行...
十个常见的软件测试面试题,拿走不谢
所有面试问题一般建议先总后分的方式来回答,这样可以让面试官感觉逻辑性很强。 1. 自我介绍 之所以让我们自我介绍,其实是面试官想找一些时间来看简历,所以自我介绍不用太长的时间,1-2分 钟即可。 自我介绍一般按以下方式进行介…...
windows 11 配置 kafka 使用SASL SCRAM-SHA-256 认证
1. 下载安装apache-zookeeper-3.9.2 配置 \conf\zoo.cfg # The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can take initLimit10 # The number of ticks that can pass between # sending a requ…...
Elasticsearch —— ES 环境搭建、概念、基本操作、文档操作、SpringBoot继承ES
文章中会用到的文件,如果官网下不了可以在这下 链接: https://pan.baidu.com/s/1SeRdqLo0E0CmaVJdoZs_nQ?pwdxr76 提取码: xr76 一、 ES 环境搭建 注:环境搭建过程中的命令窗口不能关闭,关闭了服务就会关闭(除了修改设置后重启的…...
ElSelect 组件的 onChange 和 onInput 事件的区别
偶然遇到一个问题,在 ElSelect 组件中设置 filterable 属性后,监测不到复制粘贴的内容,也就意味着不能调用接口,下拉框内容为空。 简要代码如下: <ElSelectstyle"width: 256px"multiplev-model{siteIdL…...
加密与数据提取:保护隐私的新途径
加密与数据提取:保护隐私的新途径 在数字化时代,数据已成为驱动社会进步和经济发展的关键要素。然而,随着数据量的爆炸性增长,个人隐私保护成为了一个亟待解决的问题。如何在利用数据价值的同时,确保个人隐私不被侵犯…...
博客摘录「 宋宝华:Linux文件读写(BIO)波澜壮阔的一生」2024年11月1日
同时内核会给第2页标识一个PageReadahead标记,意思就是如果app接着读第2页,就可以预判app在做顺序读,这样我们在app读第2页的时候,内核可以进一步异步预读。 每个bio对应的硬盘里面一块连续的位置,每一块硬盘里面连续…...
使用华为云数字人可以做什么
在数字化和智能化快速发展的今天,企业面临着如何提升客户体验、优化运营效率的挑战。华为云数字人作为一种创新的智能交互解决方案,为企业提供了全新的可能性,助力企业在各个领域实现智能化升级。 提升客户服务体验 华为云数字人能够模拟真…...
leetcode刷题记录——(十六)349. 两个数组的交集
(一)问题描述 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/intersection-of-two-arrays/ …...
vue3实现规则编辑器
组件用于创建和编辑复杂的条件规则,支持添加、删除条件和子条件,以及选择不同的条件类型。 可实现json数据和页面显示的转换。 代码实现 : index.vue: <template><div class"allany-container"><div class"co…...
【快速上手】pyspark 集群环境下的搭建(Standalone模式)
目录 前言 : 一、spark运行的五种模式 二、 安装步骤 安装前准备 1.第一步:安装python 2.第二步:在bigdata01上安装spark 3.第三步:同步bigdata01中的spark到bigdata02和03上 三、集群启动/关闭 四、打开监控界面验证 前…...
中文NLP地址要素解析【阿里云:天池比赛】
比赛地址:中文NLP地址要素解析 https://tianchi.aliyun.com/notebook/467867?spma2c22.12281976.0.0.654b265fTnW3lu长期赛: 分数:87.7271 排名:长期赛:56(本次)/6990(团体或个人)方案…...
使用AddressSanitizer内存检测
修改cmakelist.txt,在project(xxxx)后面追加: option(MEM_CHECK "memory check with AddressSanitizer" OFF) if(MEM_CHECK)set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitizeaddress")set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS…...
11月1日星期五今日早报简报微语报早读
11月1日星期五,农历十月初一,早报#微语早读。 1、六大行今日起实施存量房贷利率新机制。 2、谷歌被俄罗斯罚款35位数,罚款远超全球GDP。 3、山西吕梁:女性35岁前登记结婚,给予1500元奖励。 4、我国人均每日上网时间…...
实用篇:Postman历史版本下载
postman历史版本下载步骤 1.官方历史版本发布信息 2.点进去1中的链接,往下滑动;选择你想要的版本 例如下载v11.18版本 3.根据操作系统选择 mac:mac系统postman下载 window:window系统postman下载 4.在old version里找到对应版本下载即可 先点击download 再点击free downlo…...
微服务实战系列之玩转Docker(十七)
导览 前言Q:如何实现etcd数据的可视化管理一、创建etcd集群1. 节点定义2. 集群成员2.1 docker ps2.2 docker exec2.3 etcdctl member list 二、发布数据1. 添加数据2. 数据共享 三、可视化管理1. ETCD Keeper入门1.1 简介1.2 安装1.2.1 定义compose.yml1.2.2 启动ke…...
操作系统-实验报告单(1)
目录 1 实验目标 2 实验工具 3 实验内容、实验步骤及实验结果 一、安装虚拟机及Ubuntu 5、*存在虚拟机不能安装的问题 二、Ubuntu基本操作 1、桌面操作 2、终端命令行操作 三、在Ubuntu下运行C程序 3、*Ubuntu中编写一个Hello.c的主要程序 4 实验总结 实 验 报 告…...
rom定制系列------小米8青春版定制安卓14批量线刷固件 原生系统
💝💝💝小米8青春版。机型代码platina。官方最终版为 12.5.1安卓10的版本。客户需要安卓14的固件以便使用他们的软件。根据测试,原生pixeExpe固件适配兼容性较好。为方便客户批量进行刷写。修改固件为可fast批量刷写。整合底层分区…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
