我这几天刚刚了解了牛客网,这是个能够帮助我们这些学习者更好的掌握知识的地方,从今天开始,每一天我都会把自己今天所做的题分享给大家,也当是给自己做的一个错题本,如果有错误的话,希望能够及时和我沟通,感激不尽。
第一题
顺序存储结构的主要缺点是不利于插入或删除操作()
A 对 B错
正确答案:对
详解:
顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据,结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
第二题
矩阵中的行列数可以是不相等的,这样的说法正确吗?
正确 不正确
正确答案: A
详解:
这个题是一个陷阱,矩阵不一定是方阵,我刚开始在看的时候,以为他意思是每一行跟每一行,每一列跟每一列相等,它题目意思说的是每一行和每一列相等,那就是方阵了。以后注意
第三题
下面哪个排序算法是不稳定的?
冒泡排序
基数排序
快速排序
直接插入排序
正确答案: C
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,
而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法
这个是要记住的。
第四题
排序算法的稳定性是指()
经过排序之后,能使值相同的数据保持原顺序中的相对位置不变
经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变
算法的排序性能与被排序元素的数量关系不大
算法的排序性能与被排序元素的数量关系密切
正确答案: A
一定要注意,这里是相对位置不变,而不是绝对位置不变
稳定性,就是指,不乱排序,很有规矩,能按照排序的算法执行,相异的数据排序正确,相同的数据之间的前后关系也能不会错位
第五题
直接选择排序
直接插入排序
快速排序
起泡排序
正确答案: C
快速排序将数据按照基准数据分为左右两部分,左边都比基准数据小,右边都比基准数据大,按照中间位置,递归左右两侧,直到只有一个数据时,排序完成。
第六题
用二分(对半)查找表的元素的速度比用顺序法( )
必然快
必然慢
相等
不能确定
正确答案: D
一般情况下,二分查找比顺序查找要快,但有些特殊情况下顺序查找要更快,比如要查找的元素正好位于前几个的情况,这种情况下二分查找反而慢了
第七题
定义了一维 int 型数组 a[10] 后,下面错误的引用是( )。
a[0] = 1;
a[0] = 5*2;
a[10] = 2;
a[1] = a[2] * a[0];
正确答案: C
数组后面的a[i]中的i是角标,一个长度为十的数组,角标只到9,a【10】超出范围。角标越界。
第八题
有六个元素6,5,4,3,2,1的顺序进栈,请问下列哪一个不是合法的出栈顺序?
543612
453126
346521
234156
正确答案: C
栈是一个先进后出的东西,
c的话,如果6543先进去,接着出来34,6就不可能会出来,先出来也是5先出来,所以这个题出错了
第九题
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入的排序算法是()
归并排序
选择排序
希尔排序
插入排序
正确答案: D
这个题说插入,那就有可能是插入排序,再根据原理一推断,绝对是插入排序
第十题
下列排序算法中,在待排序数据已有序时,花费时间反而最多的是()排序。
冒泡
希尔
快速
堆
正确答案: C
快速排序,当数组顺序或倒序时,每次划分都包含n-1 元素和一个0元素时,划分不对称
O(n^2)