1.7数算选择题专练

2024-01-09 05:04
文章标签 1.7 选择题 数算 专练

本文主要是介绍1.7数算选择题专练,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

排序

就是说此时是有5个有序的两两对,然后进行下一轮归并 

时间复杂度和初始次序无关的应该是,堆排序,归并排序,选择排序

比较次数与初始序列无关是:选择排序 和 折半插入排序

 

堆排序不需要开新空间,是直接在原数组上做的操作,快速建堆

归并需要辅助空间,是用于数组合并,快速排序需要辅助空间,是树的大小,递归的过程,递归向下需要栈空间 

 

 

逆序的话,每次都是从最底部冒到最上部,每次都是从头交换到尾,所以交换次数最多 

选择排序的时间复杂度不随序列的变化而变化,任何一个序列都是ON^2

选择排序,快速排序,堆排序,希尔排序都是不稳定的 

稳定排序有 冒泡排序,插入排序,归并排序,计数排序,基数排序,桶排序

快递排序的递归次数与元素的初始排列有关。如果每一次划分后分区比较平衡,则递归次数少;如果划分后分区不平衡,则递归次数多。但快速排序的递归次数与分区处理顺序无关,即先处理较长的分区或先处理较短的分区都不影响递归次数。

此外,可以形象地把快速排序的递归调用过程用一个二叉树描述,先处理较长或较短分区,可以想象为交换某一递归结点处的左右子树,这并不会影响树中的分支数。

 

两趟排序导致QU是有序的,其他四个字母还无序,选择排序则QU应该在后面,冒泡和堆排序两趟也会使元素到达他最终位置,所以排除

A 希尔排序:因为33和6交换,那么按照分隔的距离12需要和8进行交换,和结果不符合,所以排除
B 归并排序:归并第一趟后得出【12,33,10,44】【6,8,17】,和结果不符合,所以排除
C 快速排序:按照快排性质,选出的元素需要满足左边比它小,右边比它大的性质,第一趟只有6满足,第二趟只有8满足,第三趟只有10满足,可以看出这种选元素的方式并不符合快排,也就是说,没有一种选取元素算法能够如此精确的选出6,8,10这三个数来,所以排除
D 选择排序:每一趟选出最小的数,满足选择排序性质
 

快速排序的过程是先选一个数,使左边的都是比它小的,右边都是比他大的

然后继续向左右递归,接着找

 

链表

静态链表采用数组实现链表的存储,用空间换取时间,删除与插入需要改的是游标  

在n个结点的无向图中,若该图是连通图,则其边数大于等于n-1,
在n个结点的无向图中,若边数大于(n-2)(n-1)/2,则该图必是连通图

8个边会产生8个入度与8个出度

找拓扑排序的数量,一个递归收缩的过程,每个结点可以到达的方式,包含前一个可以到达的结点的方式总数,但不局限于此,而是所有可以到达这个点的方式总和,然后递归收缩完后,以这个点为起点继续向后

到A的方式有1,到E的方式有1,到B的方式有1,到C的方式有2(A到它B到它共两条),D到的方式有3,从E到它,从C到它 

DFS的时候,如果要访问的元素已经访问过,它在当前的栈内还没出栈,那么就是有环。BFS不行是因为可能有多个节点指向该节点,不一定是因为有环。

拓扑排序会循环执行以下两步: (1) 选择一个入度为0的顶点,输出 (2) 从图中删除此顶点以及所有的出边 循环结束后,若输出的顶点数小于网中的顶点数,则说明有回路

队列

即p代表要操作的元素,然后Q是要接收的位置 

这里注意,这个头指针是虚指,尾指针是实指,头指针指向的是元素的前一个位置 

循环队列是队列的一种顺序存储结构,用队尾指针 rear 指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置。入队运算时,队尾指针进 1 (即 rear+1 ),然后在 rear 指针指向的位置插入新元素。退队运算时,排头指针进 1 (即 front+1 ),然后删除 front 指针指向的位置上的元素。当 front=rear=15 时可知队列空或者队列满,此后又退出一个元素,如果之前队列为空,退出操作会产生错误,队列里有 0 个元素;如果退出之前队列已满 (40 个元素 ) ,执行退出后,队列里还有 39 个元素。故本题答案为 A 选项。 

注意此时队列大小为M+1而不是M 

 

往循环队列里插入元素时,头指针移动;删除元素时,尾指针移动

 

 

奇怪的

 

当我们存入队列的数字在内存中已经有的时候就不缺页,没有就缺页;且是先进先出的原则。 

这篇关于1.7数算选择题专练的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585995

相关文章

mac jdk 1.7 dmg 官方版

百度云下载 https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ   补充说明: 实际上oracle对于历史版本的jdk都有归档可以在官方网站上下载,只是需要注册个号就可以了。 地址如下: https://www.oracle.com/cn/java

CSP-J选择题 - 排列组合

排列问题:有5名学生参加比赛,要求排成一排拍照,有多少种不同的排列方式?组合问题:从10本书中选出3本书送给朋友,有多少种不同的选择方式?排列问题:一个教室有7个座位,5个学生需要坐下,有多少种不同的排列方式?组合问题:从12个人中选出4个人组成一个团队,有多少种不同的方式?排列问题:一个密码由4个字母组成,字母可以重复使用,有多少种不同的排列组合?组合问题:从8个不同颜色的球中选出3个,不考虑顺

【数据结构】你真的学会了二叉树了吗,来做一做二叉树的算法题及选择题

文章目录 1. 二叉树算法题1.1 单值二叉树1.2 相同的树1.3 另一棵树的子树1.4 二叉树的遍历1.5 二叉树的构建及遍历 2. 二叉树选择题3. 结语 1. 二叉树算法题 1.1 单值二叉树 https://leetcode.cn/problems/univalued-binary-tree/description/ 1.2 相同的树 https://leet

java 1.7之后的Arraylist容量增长机制

一直以来都错误的理解Arraylist的容量自增长是添加一个元素容量自动加1,偶然的聊起这个话题,才发现貌似我理解错了,跑去看了Arraylist的源代码才清楚了它的容量自增长机制并不是我所认为的那样。下面是Arraylist容量增长的源代码,附上一些注释,如果有不正确的还希望大家能给纠正~~~ 首先看一下ArrayList添加元素的方法: public boolean add

公钥密码选择题

一. 单选题 1. (单选题)以下关于对称密码的描述,哪一项是错误的 A. 密钥分配、管理困难B.无法满足数字签名的安全需求C. 加解密速度慢D. 基本组件的设计基于代换和置换,以满足混淆和扩散 正确答案: C 解析: A选项(密钥分配、管理困难):对称密码确实存在密钥分配和管理上的困难,因为通信双方需要共享同一个密钥。B选项(无法满足数字签名的安全需求):对称密码只能保证加密数据的机密

数据库选择题和填空题面试题

第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是___

Git之1.7版本重要特性及用法实例(五十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者. 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐

1.7.1 总线

假设某系统总线在一个总线周期中并行传输4个字节信息,一个总线周期占用2个是时钟周期,总线时钟频率为10MHZ,则总线带宽是( )。 A. 10MB/s B. 20MB/s C. 40MB/s D. 80MB/s 正确答案是 B。 解析 总线带宽是指单位时间内总线上传输数据的位数,通常用每秒传送信息的字节数来衡量,单位为B/s。由题意可知,在1个总线周期(2个是时钟周期)内传输了4个字节信息,时

25版王道数据结构课后习题详细分析 第五章 树与二叉树 5.3 二叉树的遍历和线索二叉树 选择题部分

一、单项选择题 ———————————————————— ———————————————————— 解析:二叉树中序遍历的最后一个结点一定是从根开始沿右子女指针链走到底的结点,设用p指示。若结点p不是叶结点(其左子树非空),则前序遍历的最后一个结点在它的左子树中,A、B错误;若结点p是叶结点,则前序与中序遍历的最后一个结点就是它,C正确。若中序遍历的最后一个结点p不是叶结点,它还有一个左

【操作系统 / 系统编程】2025 秋招超详细复习指南 - 基于 Linux 环境的全面复习 - 持续更新(目前1.7w字)

操作系统 / 系统编程复习目录 一、进程概念1. 冯诺依曼1.1 外设1.2 IO1.3 数据流1.4 存储分级 && IO效率 2. OS2.1 作用:管理2.2 管理:先描述,再组织2.3 内存管理、进程管理、文件系统、驱动管理 3. 进程3.1 什么是进程3.2 为什么要有 PCB(task_struct)3.3 task_struct 内容3.4 PID / PPID,getpid(