数据结构+算法分析与设计[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批量刷写。整合底层分区…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...