数据结构与算法第二套试卷大题

1.选择排序,插入排序的思路

1.1选择排序思路:
1.每次在数组中选一个最小的元素与第一个元素进行交换——>2.然后逐步缩小数组,重复第一,二步
1.2举例:
假设有一个无序数组 [5, 2, 8, 3, 1],使用选择排序的思路,首先找到最小的元素 1,与数组的第一个元素 5 交换位置,得到 [1, 2, 8, 3, 5],然后在剩余的部分中找到最小的元素 2,与第二个元素 2 交换位置,得到 [1, 2, 8, 3, 5],以此类推,最终得到有序数组 [1, 2, 3, 5, 8];
时间复杂度:0(n^2),空间复杂度:0(1)

2.1插入排序思路:
1.从第二个元素开始,与前面的元素对比,排序到合适的位置——>2.然后重复遍历后面的元素,重复1,2操作
2.2举例:
假设有一个无序数组 [7, 3, 5, 1, 9],使用插入排序的思路,首先将第二个元素 3 插入到已排序部分 [7] 的正确位置,得到 [3, 7, 5, 1, 9],然后将第三个元素 5 插入到已排序部分 [3, 7] 的正确位置,得到 [3, 5, 7, 1, 9],以此类推,最终得到有序数组 [1, 3, 5, 7, 9]
插入排序最优:0(n),平均为0(n^2),空间与上述类似

2.链表操作:

指针变量p指向双向链表中结点A指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表
中结点的两个指针域分别为llink和rlink)。
答案:

q->left=p;
q-right=p->right;
p->right->left=q;
p->right=q;

3.孩子兄弟表示法画二叉树

设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树
方法:抓住左孩子右兄弟即可
在这里插入图片描述

4.二叉排序树

核心: 左边小,根节点第二,右子树最大即可

5.prim算法构造最小生成树

根贪心类似,1.从第一个顶点搜索权值最小的第二节点,绘制路线后,2.从第二各节点再往后搜**(需要判断之前的节点是否有较小的相邻路径**,如果有,就走之前节点的,其次是需要判断是否构成环
请添加图片描述
克鲁斯卡尔算法的话,他是先把边全部排序好,按权值从小到大进行绘制,如果构成环就跳过

6.集合的表示问题

设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。

//1.节点结构
typedef struct Node{int data;struct Node* next;
}Node; //后续表示节点直接Node* node即可//2.链表结构
typedef struct LinkedList{Node* head; //节点
}LinkedList; //LinkedList* list表示链表//3.初始化链表
void initLinkedList(LinkedList* list){list->head=NULL;
}//4.向链表中插入元素
void insert(LinkedList* list,int data){//1.创建节点newNode并赋值Node*new_node=(Node*)malloc(sizeof(Node));new_node->data=data;new_node->next=NULL;//2.插入if(list->head==NULL){list->head=new_Node;}else{//2.2得到头节点Node* current=list->head;//2.3遍历到尾部while(current->next){current=current->next;}//2.3将新的节点插入链表尾部current->next=new_Node;}}// 生成集合C = A ∩ B
LinkedList inersect(LinkedList* list_a,LinkedList* list_b){LinkedList* result;//1.初始化链表initLinkedList(result);//2.遍历Node* current_a=list_a->head; //先得到链表a的头节点while(current_a!=NULL){Node* current_b=list_b->head; //链表b的头节点while(current_b!=NULL){if(current_a->data==current_b->data){//满足条件:两链表出现节点相同时,插入cinsert(result,current_a->data);break;  }//没有找到与a链表相同的节点,继续遍历current_b=curent_b->next;}//遍历a链表current_a=current_a->next;}return result;
}

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

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

相关文章

原始手写helloworld并打jar包允许

1.创建文件夹test统一在其中操作 2.创建hello.java文件 【hello.txt改属性为hello.java】并在里面添加代码 public class hello {public static void main(String[] args) {System.out.println("hello world");} } 注意:类名与文件名一致 然后运行…

YOLO目标检测——森林火灾烟雾检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:森林火灾监控与预警标注说明:使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(json)和yolo(txt)三种格式标签,分别存放在不同文件夹下,可以直接用于YOLO系列的目标检测。其他&#x…

javascript正则深入

文章目录 一、前言二、高级`API`2.1、模式匹配的用法`(x)`2.2、非捕获括号的模式匹配`(?:x)`2.3、先行断言`x(?=y)`2.4、后行断言`(?<=y)x`2.5、正向否定查找`x(?!y)`2.6、反向否定查找`(?<!y)x`2.7、字符集合和反向字符集合的用法 `[xyz] / [^xyz]`2.8、词边界和非…

数字时代下的内部审计蜕变:探索数字化转型的七大关键领域

写在前面 内部审计是一种独立的、客观的确认和咨询活动&#xff0c;包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储&#xff0c;据此再对数据进行挖掘、分析和应用。广义…

便携式测速仪的工作原理

TH-LS5】便携式测速仪的工作原理主要基于多普勒效应。当测速仪发射电磁波并碰触到物体时&#xff0c;电磁波会被反射回来。如果触碰到的物体有朝向或背向的位移运动&#xff0c;那么测速仪发射与反射回来的电磁波之间会存在一个频率差。这个频率差会被测速仪捕获&#xff0c;并…

简单多状态dp问题----按摩师

面试题 17.16. 按摩师 - 力扣&#xff08;LeetCode&#xff09; 1、状态表示&#xff1a; dp[i]&#xff1a;从前i个顾客预约中&#xff0c;接收预约的最大总时长。 2、状态转移方程&#xff1a; 首先本题特别的地方在于&#xff1a;不能连续接收两个预约&#xff0c;即不能…

【绘图案例-复习昨天的内容 Objective-C语言】

一、先把这个昨天的内容复习一下 1.首先,昨天学了QQ案例, 然后呢,把这个“通讯录”做完了啊, 在这个里边儿, 通讯录里边儿,有这么几个: 1)开关处理的逻辑:打开“自动登录”,让“记住密码”也自动去打开,取消“记住密码”,“自动登录”也自动去关闭, 2)然后呢,…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+纯verilog图像缩放+多路视频拼接,提供8套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收OSD多路视频融合叠加应用本方案的SDI接收HLS多路视频融合叠加应用本方案的SDI接收GTX…

VPN应用场景典型案例-匿名网关组网应用

​​​​​​组网需求 多个发起方使用动态接入互联网方式,如PPPoE拨号或者NAT转换,这种方式中,发起方每次使用的IP地址可能不一致,所以响应端无法使用指定对端IP地址方式,匿名网关一端不指定对端IP,通过ID识别对端身份建立IPSec隧道,实现公司间内部网络的安全通信。 典…

去电脑维修店修电脑需要注意什么呢?装机之家晓龙

每当电脑出现故障时&#xff0c;你无疑会感到非常沮丧。 如果计算机已过了保修期&#xff0c;您将无法享受制造商的免费保修服务。 这意味着您必须自费找到一家电脑维修店。 去电脑维修店并不容易。 大家一定要知道&#xff0c;电脑维修非常困难&#xff0c;尤其是笔记本电脑维…

基于rk3568解决gpio阶梯波形(适用于i2c、uart、电平转换)

目录 1、理解GPIO的开漏&#xff08;OD&#xff09;和开集&#xff08;OC&#xff09; 2、查询io寄存器地址及定义 3、配置可调寄存器接口dev/mem author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Q…

gorm快速上手

简介 1.什么是orm ORM全称是:Object Relational Mapping(对象关系映射)&#xff0c;其主要作用是在编程中&#xff0c;把面向对象的概念跟数据库中表的概念对应起来。举例来说就是&#xff0c;我定义一个对象&#xff0c;那就对应着一张表&#xff0c;这个对象的实例&#xf…

广播

1.什么是广播 2.标准广播 BroadStandardActivity.java package com.tiger.chapter09;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View;…

vscode 使用ssh进行远程开发 (remote-ssh),首次连接及后续使用,详细介绍

在vscode添加remote ssh插件 首次连接 选择左侧栏的扩展&#xff0c;并搜索remote ssh 它大概长这样&#xff0c;点击安装 安装成功后&#xff0c;在左侧栏会出现远程连接的图标&#xff0c;点击后选择ssh旁加号便可以进行连接。 安装成功后vscode左下角会有一个图标 点击图…

网页在特殊日子一键变灰

<template> <div :class"{ grayscale: isGrayscale }"> <!-- 你的页面内容放在这里 --> </div> </template> <script> export default { data() { return { // 存储哀悼日的数组 aidaoriDates:["0404", &q…

docker学习入门

1、docker简介 docker官网&#xff1a; www.docker.com dockerhub官网&#xff1a; hub.docker.com docker文档官网&#xff1a;docs.docker.com Docker是基于Go语言实现的云开源项目。 Docker的主要目标是&#xff1a;Build, Ship and Run Any App, Anywhere(构建&…

1.2_2 OSI参考模型

文章目录 1.2_2 OSI参考模型一、概述&#xff08;一&#xff09;ISO/OSI参考模型是怎么来的&#xff1f;&#xff08;二&#xff09;ISO/OSI参考模型&#xff08;三&#xff09;ISO/OSI参考模型解释通信过程 二、各层功能及协议&#xff08;一&#xff09;应用层&#xff08;第…

oss-fuzz-gen:一款基于LLM的模糊测试对象生成与评估框架

关于oss-fuzz-gen oss-fuzz-gen是一款基于LLM的模糊测试对象生成与评估框架&#xff0c;该工具可以帮助广大研究人员使用多种大语言模型&#xff08;LLM&#xff09;生成真实场景中的C/C项目以执行模糊测试。 该工具基于Google的OSS-Fuzz平台实现其功能&#xff0c;并对生成的…

蓝桥OJ 2942数字王国之军训排队 DFS剪枝

蓝桥OJ 2942数字王国之军训排队 #include<bits/stdc.h> using namespace std;const int N 15;//最多10队 int a[N], n; vector<int>v[N];//二维数组 v[i]记录队伍i中所有人的编号bool dfs(int cnt, int dep) {if (dep n1){//判断合法性for (int i 1; i < n; …

Spring揭秘:BeanDefinitionRegistry应用场景及实现原理!

内容概要 BeanDefinitionRegistry接口提供了灵活且强大的Bean定义管理能力&#xff0c;通过该接口&#xff0c;开发者可以动态地注册、检索和移除Bean定义&#xff0c;使得Spring容器在应对复杂应用场景时更加游刃有余&#xff0c;增强了Spring容器的可扩展性和动态性&#xf…