专项练习---排序 数组(1)

解析:元素a20表示a[2][0]为第三行第一列的那个元素的地址为560每个元素占4个字节,元素a10表示a[1][0]第二行第一列的那个元素的,已知二维数组为A10×10,所以a[2][0]和a[1][0]相距10个元素,所以4*10=40个字节

答案:则元素a10的地址位  520.

  解析:

  二叉排序树的概念:
  二叉排序树是一种动态树表。
  二叉排序树的定义:二叉排序树或者是一棵空树,
  或者是一棵具有如下性质的二叉树:
  ⑴ 若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
  ⑵ 若它的右子树非空,则右子树上所有结点的值均大于根结点的值;
  ⑶ 左、右子树本身又各是一棵二叉排序树。二叉排序树的性质: 按中序遍历 二叉排序树,所得到的中序遍历 序列是一个递增有序序列。


正确

 答案:错误

解析:但是原因不是还可以用栈,因为递归也是用的栈实现的。应该说是还可以用非递归方式实现前序遍历。

答案:随机存取

解析:顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。

答案:快速排序

解析:

产生新的逆序对,并不是说逆序对的数目发生改变。稳定的排序算法,每交换一次,逆序对的数目必然发生改变。

冒泡每交换一次,会减少一个逆序对,并不会产生新的逆序对。

简单插入排序,若插入到已排序序列的最后,则不会产生新的逆序对。

简单选择排序,每次将一个元素归位。无论由小到大归位,还是由大到小归位,都不会产生新的逆序对。

而快排,是跳跃式交换,必然会产生新的逆序对。

答案:错误

解析:数组和矩阵不同,数组元素可以是字符,即字符数组,矩阵中都是数

答案:错误

解析:注意!!!    二分查找针对的有序,不要被坑.

答案:错误

解析:内 排序 是指待 排序 列完全存放在内存中所进行的 排序 过程,与存储方式无关

答案:2次

答案:正确

解析:

所以顺序查找指从第一个数据元素开始查找到最后

而顺序表查找是顺序存储结构上进行查找

数组元素在栈区,链表元素在堆区

 

解答本题需要对各种排序算法的特点极为清楚。对于冒泡排序和选择排序,每一趟都能确定一个元素的最终位置,而题目中,前 2 个元素和后 2 个元素均不是最小或最大的 2 个元素并按序排列。选项 D 中的 2 路归并排序,第一趟排序结束都可以得到若干个有序子序列,而此时的序列中并没有两两元素有序排列。插入排序在每趟排序后能确定前面的若干元素是有序的,而此时第二趟排序后,序列的前三个元素是有序的,符合其特征。

a[2][4]越界了,a[2][3]就可以,数组从0开始

push方法是向数组末尾添加一个或者多个元素,并返回新的长度 二、pop方法删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值 三、unshift()方法是向数组的开头添加一个或多个元素,并且返回新的长度 四、shift()方法和unshift()方法恰恰相反。该方法用于把数组的第一个元素从其中删除,并返回被删除的值。如果数组是空的,shift()方法将不进行任何操作,返回undefined的值。 五,join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

 

一、先算内层f(9)

    [1] 计算 f(9) = f(7) + f(3) + 1;

    [2] 计算[1]中 f(7) = f(5) + f(1) + 1;

    [3] 计算[2]中 f(5) = f(3) + f(-1) + 1;

    [4] 计算[3]中 f(3) = 1;

    [5] 计算[3]中 f(-1) = 1;

        {至此f(5)可计算得: f(5) = 1 + 1 + 1 = 3}

    [6] 计算(1)中f(1) = 1;

        {至此f(7)可计算得 :f(7) = 3 + 1 + 1 = 5}

    [7] 计算[1]中f(3) = 1;

        {至此f(9)可计算得:f(9) = 5 + 1 + 1 = 7}

计算f(9)一共调用了7次函数

 

二、计算外层f(7)

    由上面步骤可知,计算f(7)调用了5次函数

 

所以一共调用了函数7+5=12次

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值