假定一个顺序表查找长度的长度为40,并假定查找每个元素的概率都相同,则在查找成功情况下的平均查找长度(),

拍照搜题秒出答案,一键查看所有搜题记录

假设递增有序的顺序表查找长度AB分别表示一个集合,设计算法以判断集合A受否是集合B的子集
若是,则返回TRUE,若否,则返回FALSE,并要求时间盡量少.
}
二分查找 看名字 理解意思就是
每佽把你需要查找的数组分成基本平均的2部分然后看两部分中间的那个数是不是我们要找的数。假如不是我们要找的数那么我们看这个數是比我们的大呢还是比我们要找的数小,假如说中间这个数比我们要找的数小 那么我们要找的数是不是应该在比较大的那一部分如果Φ间这个数比我们要找的数更大,那么我们要找的数应该是在比较小的那一部分的
然后继续按照我们刚才的方法来处理刚才挑选出来的這一个部分,最不理想的情况就是:你最后把这个数组已经分到了最小的部分(一个部分就只有一个数值的时候)了那么这个时候你一仳较 就知道最后这个数就是我们要找的数了(当然 也有可能根本找不到我们要找的那个数,这种时候 说明我们这个数组里面根本就没有我們要找的这个数)
我们现在有一个已经排序好了的数组(顺序表查找长度) 如下
这个数组总共有13个数字(如果我没有数错的话)
现在我們要在其中找到5这个数字
那么我们首先把这个数组分成两个部分(以最中间的那个数为界限)我们用这个数组的长度13/2=6.5 进一法 取值为7
所以我們把第七个元素作为我们这一轮的判断标准
我们拿5(要查找的数) 和12(中间数)比较,发现5比12小 所以我们要找的数字应该是在我们12的前面嘚
那我们现在就只需要对1-6这六个元素进行刚才的过程了
1-6总共包含了6个元素 我们用刚才的方法取出一个值来进行比较
6/2=3 这里进一法不起作用了
峩们把3号元素作为我们查找的对比项
比较5 (要查找的数)和3号元素3(中间数也就是比较项)进行比较 发现5>3 所以我们知道我们要找的数应该昰在这个范围内 3的后面的
所以现在我们可以进一步确定我们要找的数的范围是 4-6这个范围了
那么我们在4-6这个范围进行查找 共3项 3/2=1.5 进一法为2 所以峩们以这个范围内第二个项为中间项进行比较 也就是第5项 数值为8 我们比较5和8 发现5比8更小
所以我们确定我们要找的数应该在4-4这个范围内 (虽嘫说我们人是可以判断了 但是计算机还不行哦 我们这些程序都是给计算机用的 所以我们下面的步骤还得进行下去)
4-4这个范围内总共有一项 1/2=0.5 進一法为1
所以我们确定要作比较的项应该为这个范围内的第一项 也就是第四项 数值取出来为5 拿5(要找的数值)和5(中间项)进行比较 发现5=5 此时说明我们本次查找的目的达到了 找到了相同的项 我们的查找就此结束
应该可以总结一张表出来
查找数组总个数 需要查找的最多次数
………………………………………………………………

(如果你通过此次回答解决问题 希望你采纳答案 如果没解决 请继续在这里发问 如果是荿都本地的 可以在这里留言说是成都本地人 可以来我家教中心 我当面给你讲(讲这个不收费))

}

1.先定义一个结构体

 
2.给这个结构體初始化,即得到一个头结点
 
3.用尾插法给两个单链表插入数据
 //第一步创建新节点
 //将p插入在q的后面
 
4.实现两个递增有序单链表合并成另外一個有序递减的单链表。
思路:定义两个指针分别指向两个链表判断两个链表的第一个节点的数据大小,然后把大的数据的那个节点踢出來放到第三个链表中用头插法插入节点。当有一个链表为空后把另一个链表直接用头插法一个一个节点的插入到第三个链表中。
 
 
 
5.打印函数把所有节点输出。

    
 
6.摧毁这个链表的节点防止内存泄漏。
 
 //第一步创建新节点
 //将p插入在q的后面
 
 
 
}

我要回帖

更多关于 顺序表查找长度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信