数据结构与算法第八套试卷

1.建立一个长度为n的有序单链表的时间复杂度

0(n^2)
在这里插入图片描述

2.哈希算法

key%p:p最好为质数
在这里插入图片描述
如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词(正确);

3.二分查找

注意: 二分查找是向下查询的
在这里插入图片描述
二分查找,因为它是顺序表,所以直接 1.(1+14)/2=7>4 r=6 2.(1+6)/2=3<4 l=4 3.(4+6)/2=5>4 r=4 (4+4)/2=4 7 3 5 4

4.DFS和BFS

深度优先遍历的思想类似于树的先序遍历。其遍历过程可以描述为:从图中某个顶点v出发,访问该顶点,然后依次从v的未被访问的邻接点出发继续深度优先遍历图中的其余顶点,直至图中所有与v有路径相通的顶点都被访问完为止;
在这里插入图片描述
BFS是根据节点的与节点之间的距离长度来的——>先遍历与顶点a邻接的顶点,因此前面是abce,直接排除ACD,选B

5.快速排序(补)

当数列越无序,快速排序的时间复杂度越低,最低为0(nlogn)
快速排序在基本有序的时候算法时间复杂度是最坏的,此时为0(n^2)
在这里插入图片描述

6.数据结构

1.线性结构是一个有序数据元素的集合。 其中数据元素之间的关系一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
常用的线性结构有:线性表,栈,队列,双队列,数组,串。

2.非线性结构中各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可分为层次结构和群结构。
常见的非线性结构有:二维数组,数组,广义表,树(二叉树等),图。(其中数组是由多个一维数组组成的,所以不再是线性结构)

7.链表

非空的双向循环链表中任何结点的前驱指针不为空。(正确)

8.希尔排序

在这里插入图片描述
(49,13,27,50,76,38,65,97)
在这里插入图片描述

9.树的遍历:

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

10.最小生成树:

在这里插入图片描述
【答案】n - 1
连通图:无向图中,对于图中任意两个顶点之前有路径,则称此图为连通图。n个顶点构成连通图它的边有多种可能,不使用图的边数来计算最小生成树的变数。
生成最小生成树需要包含图中各点,因此连接的边数为n - 1

11.堆的定义:

在这里插入图片描述

在这里插入图片描述

大题

1.统计二叉树中节点的个数

int count=0;
void math_count(Bitree* bt,int *count){//1.base:当前节点不为空,+1if(bt==NULL){return;}//2.前序位置:节点数+1*count++;//3.递归当前根节点的左右子树math_count(bt->lchild,count);math_count(bt->rchild,count);
}

2.选择排序

void select_sort(Node* head){Node* current=head;while(current){ //选择外层节点Node* temp=current->next; //内层比较节点while(temp){if(temp->data<current->data){int temp_data=current->data;current->data=temp->data;temp->data=temp_data; }temp=temp->next; //内层指针更新}current=current->next;}
}

3.插入排序

void insert_sort(int[]nums){//1.插入排序是从第二个元素开始的for(int i=1;i<nums.length;i++){int j=i;//2.从后往前遍历,将元素插入到合适的位置while(j>0&&nums[j]<nums[j-1]){//交换int temp=arr[j-1];arr[j-1]=arr[j];arr[j]=temp;j--;  }} 
}

4.节点所在层数

int level=0;
//寻找target所在的层数
void math_level(Bitree* bt,int target){//1.baseif(bt==NULL) return;level++;//2.前序:判断target在哪个位置if(bt->data==target) return; //当前根节点的data=target,returnelse if(bt->lchild&&bt->data>target) math_level(bt->lchild,target); //递归搜索当前节点的左子树else if(bt->rchild&&bt->data<target) math_level(bt->rchild,target); //递归右子树 
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest生成allure的报告

首先要下载安装配置allure allure serve ./outputs/allure_report 可以生成html的文件自动在默认浏览器中打开

栈的应用——括号匹配

用栈实现 1、初始化一个栈&#xff0c;用来存左括号 2、遍历扫描括号字符串 如果遇到左括号&#xff0c;无脑入栈如果遇到右括号&#xff0c;此时栈空返回false&#xff0c;不空的话进行括号匹配。匹配不成功返回false&#xff0c;匹配成功将栈顶的那个左括号出栈。 遍历完之后…

Android Kotlin知识汇总(三)Kotlin 协程

Kotlin的重要优势及特点之——结构化并发 Kotlin 协程让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理&#xff0c;例如网络调用、本地数据访问等任务的管理。本主题介绍如何使用 Kotlin 协程解决以下问题&#xff0c;从而让您能够编写出更清晰、更简洁的应用代…

Selenium控制已运行的Edge和Chrome浏览器——在线控制 | 人机交互(详细启动步骤和bug记录)

文章目录 前期准备1. 浏览器开启远程控制指令&#xff08;1&#xff09;Edge&#xff08;2&#xff09;Chrome 2. 执行python代码&#xff08;1&#xff09;先启动浏览器后执行代码&#xff08;2&#xff09;通过代码启动浏览器&#xff08;3&#xff09;Bug问题记录1&#xff…

52 硬中断的实现

前言 呵呵 中断机制 也是内核中很常见的机制了 中断机制是现代计算机系统中的基本机制之一&#xff0c;它在系统中起着通信网络的作用&#xff0c;以协调系统对各种外部事件的响应和处理&#xff0c;中断是实现多道程序设计的必要条件&#xff0c;中断是CPU 对系统发生的某个…

几何造型库 - osgModeling

基于osg的几何造型库(osgModeling-0.1.1)的编译成果和示例&#xff1a; basic: boolean: bsp-tree:

Educational Codeforces Round 163 (Rated for Div. 2)

Educational Codeforces Round 163 (Rated for Div. 2) Educational Codeforces Round 163 (Rated for Div. 2) A. Special Characters 题意&#xff1a; 给出特殊字符的定义&#xff0c;在一组字符串中当前字符的相邻字符有且仅有一个与自身相同的字符&#xff0c;找出具有…

webshell隐藏哥斯拉流量修改sqlmap改ua

webshell隐藏 windows 1.隐藏shell attrib "文件名" s h attrib "文件名" -s -h 2.利用系统代号隐藏shell 创建文件夹名为Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}&#xff0c;此时文件夹将变成我的电脑&#xff0c;无法看到里面的东西&…

Window部署AgileConfig

AgileConfig&#xff1a;分布式配置中心 github&#xff1a;GitHub - dotnetcore/AgileConfig: 基于.NET Core开发的轻量级分布式配置中心 / .NET Core lightweight configuration server 下载部署包&#xff1a;Releases dotnetcore/AgileConfig GitHub 版本&#xff1a;…

操作系统_Win+R运行cmd的一些常用命令(用到整理)

操作系统_WinR运行cmd的一些常用命令&#xff08;用到整理&#xff09; Win R运行命令cmd启动命令提示符&#xff1a; 1. devmgmt.msc——设备管理器 2. msinfo32-系统信息 3. mstsc-远程操作 4. ftp-进入文件型服务器&#xff0c;输入命令&#xff1a; ftp ip&#xff0c;登…

【大模型系列】统一图文理解与生成(BLIP/BLIPv2/InstructBLIP)

文章目录 1 BLIP(2022, Salesforce Research)1.1 简介1.2 数据角度1.3 模型角度1.4 BLIP预训练的目标 2 BLIP2(ICML2023, Salesforce)2.1 简介2.2 模型架构2.3 训练细节 3 InstructBLIP(2023, Salesforce)3.1 指令微调技术(Instruction-tuning)3.2 数据集准备3.3 Instruction-a…

linux ffmpeg编译

下载源码 https://ffmpeg.org/ csdn下载源码包 不想编译可以直接下载使用静态版本 https://ffmpeg.org/download.html https://johnvansickle.com/ffmpeg/ 根据cpu类型&#xff0c;下载解压后就可以直接使用了。 linux编译 安装底层依赖 yum install gcc yum isntall …