待排序序列(46,84,56,40,38,79) 第一轮处理后(40,38,46,56,84,79) 请问采用的排序算法
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/11 14:20:58
待排序序列(46,84,56,40,38,79) 第一轮处理后(40,38,46,56,84,79) 请问采用的排序算法是什么
如题.4个备选答案:简单选择、简单插入、快速、堆排序
如题.4个备选答案:简单选择、简单插入、快速、堆排序
快速排序.
46为基准.比46小的在左边,比46大的在右边.
再问: 那快速排序。。不应该38是第一位么
再答: 那是第一轮的结果啊,快速排序有好几个版本。 以46为基准,从左往右,找比46小的,第一个40,与46交换得 40,84,56,46,38,79 然后再找比46小的,38交换 40,38,56,46,84,79 再从右往左找比46大的,56交换 40,38,46,56,84,79
再问: 不对啊。。快速排序不应该一开始是尾指针自减找到比46小的(也就是38)。。与46交换么 然后首指针再自加找到比46大的(84)与新的46位置交换。。。 最后答案不应该是(38、40、46、56、84、79)
再答: 快排的版本很多哦,你网上找一下嘛, 主要思想是找基准,基准就是一个中间值,左边比他小右边比他大的值。然后采取递归方式排序。 你说的对啊,但是这个题的快排是从左往右搜索比46小的交换的。然后把下标加1再搜索。
46为基准.比46小的在左边,比46大的在右边.
再问: 那快速排序。。不应该38是第一位么
再答: 那是第一轮的结果啊,快速排序有好几个版本。 以46为基准,从左往右,找比46小的,第一个40,与46交换得 40,84,56,46,38,79 然后再找比46小的,38交换 40,38,56,46,84,79 再从右往左找比46大的,56交换 40,38,46,56,84,79
再问: 不对啊。。快速排序不应该一开始是尾指针自减找到比46小的(也就是38)。。与46交换么 然后首指针再自加找到比46大的(84)与新的46位置交换。。。 最后答案不应该是(38、40、46、56、84、79)
再答: 快排的版本很多哦,你网上找一下嘛, 主要思想是找基准,基准就是一个中间值,左边比他小右边比他大的值。然后采取递归方式排序。 你说的对啊,但是这个题的快排是从左往右搜索比46小的交换的。然后把下标加1再搜索。
采用快速排序算法,对关键字序列(28,56,78,60,12,25)按从小到大次序排序
对一组记录的关键码为(46,79,56,38,40,84),如果采用堆排序方法,则建立的初始堆是?
堆排序问题一组记录的关键码为146,79,56,38,40,84采用堆排序,则初始堆化后最后一个元素师是几?答案说是14
已知关键字序列(56,30,71,29,97,83,74,64,76,48),采用堆排序算法进行递增排序,给出前5各趟排
若对序列(49,38,65,97,76,13,27,50)采用选择排序法排序,写出各趟结束后序列.
设一组记录的关键字序列为(51、85、61、43、45、49),采用堆排序算法完成以下操作
30、有一组关键码序列(38,19,65,13,49,41,1,73),采用冒泡排序方法由小到大进行排序,请写出每趟
已知序列(35,78,12,26,90,41,66,58),请写出对该序列采用直接插入排序进行升序排序的前四趟结果
已知序列(25,16,32,18,20,36,12)请给出采用冒泡排序对该序列做升序排序时的每一趟结果
应用拓扑排序算法求得的是什么序列
待排序的关键码序列为(15,20,9,30,67,65,45,90)要按关键码值递增的顺序排序,采取简单选项排序法,
常用的预测序列(数列排序)的方法有?