数据结构学习总结算法设计---排序

技术数据结构学习总结算法设计---排序 数据结构学习总结算法设计---排序hi,你好啊 今天是11月4号 大概这一次真的要结束了。但学习的道路是不会停下的哦。
(1)若一组记录的排序码为(46, 79,

数据学习总结排序的算法设计。

hi,你好啊 今天是11月4号 大概这一次真的要结束了。但学习的道路是不会停下的哦。

(1)如果一组记录的排序代码是(46、79、56、38、40、84),则使用。

快速排序法以第一条记录为基准,得到第一次划分结果如下:

()。

38,40,46,56,79,84,

56,84

40,38,46,56,79,84,

56,79

答:C .分析:这个问题主要集中在快速排序的方法上。记得把中心点放在后卫线上,从后面找一个比中心点小的数字。从后面空出位置后,记得从前面找一个大于中心点的数字。

(11)如果一组记录的排序代码是(46、79、56、38、40、84),则使用。

通过堆排序方法创建的初始堆是()。

79,46,56,38,40,84,

40,46

84,79,56,46,40,38,

46,38

答:B分析:根据排序代码构建一棵树,然后构建一个大根堆或一个小根堆进行排序。

(1)让要排序的关键字序列为{12,2,16,30,28,10,16*,20,

6,18},试着用下面的排序方法写出每次排序后的关键词序列。

列的状态。

直接插入排序。

二进制插入排序[mid=(低高)/2]。

希尔排序(增量5、3、1)。

气泡排序。

快速分拣(重点掌握 注意掌握方法)

简单的选择排序。

堆排序

双向合并排序。

(3)输入文件(101,51,19,61,3,71,31,17,19,100,

55,20,9,30,50,6,90);当k=6时,使用替换选择算法进行写入。

生成建立的初始失败树和生成的初始合并段。

初始合并段:r1:3,19,31,51,61,71,100,101。

R2:9,17,19,20,30,50,55,90

R3:6

算法

(1)尝试使用单一链表作为存储结构,实现简单的排序算法。

`[算法描述]:

void LinkedListSelectSort(链接列表头)

//该算法在一次行程中找出关键字最小的节点,其数据与当前节点进行交换。要交换指针,必须写下当前节点和最小节点的前任指针。

p=head-next;

while(p!=null)

{ q=p-next;r=p;//让r成为指向具有最小关键字的节点的指针。

while (q!=null)

{ if(q-datar-data)r=q;

q :=q-next;

}

if(r!=p)r-数据-p-数据;

p=p-next;}`

(2)前导节点的双向链表中存储有n条记录,目前按双向冒泡排序。

按升序排序,请写出这种排序的算法。(注:双向冒泡。

也就是说,两个相邻的分拣行程以相反的方向冒泡)。

` typedef结构节点

{ ElemType数据;

结构节点*上一个,*下一个;

}节点,* DLinkedList

无效双向气泡起始(DLinkedList la)

//对头节点双向链表la中存储的元素进行双向发泡行。

前言。

{ int exchange=1;//设置标记。

dlinkdlistp,temp,tail

Head=la //双链表的头,在算法过程中向下冒泡。

起始节点

tail=null//在双链表的末尾,是算法过程中向上冒泡。

起始节点

while(交换)

{ p=head-next;//p是指向当前节点的工作指针。

exchange=0;//假设这次旅行没有兑换。

while (p-next!=尾部)//向下冒泡(右),一趟最多。

元素下沉。

If (p-datap-next-data) //交换两个节点的指针,涉及六个。

链条

{ temp=p-next;exchange=1;//有一个交换。

p-next=temp-next;temp-next-previous=p//首先列出链表中的节点。

上上下下。

temp-next=p;p-pre-next=temp;//将temp插入p。

在节点之前

temp-pre=p-pre;prior=temp

}

否则p=p-next;//没有交换,指针向后移动。

tail=p;//准备冒泡。

p=尾部优先;

while(交换p-pre!=head)

//向上冒泡(左),一趟就出来一个最小元素。

if(p-data p-pre-data)//交换两个节点。

针,涉及6条链。

{ temp=p-previous;exchange=1;//有一个交换。

p-pre=temp-pre;temp-pre-next=p;

//首先从链表中删除临时节点。

temp-pre=p;p-next-previor=temp;//将temp插入p节点。

后(右)

temp-next=p-next;p-next=temp;

}

否则p=p-previous;//无交换,指针前移。

head=p;//准备向下冒泡。

}//while(交换)

}//算法结束`。

(5)借助快速排序算法,在一组无序记录中找到给定的级别。

键值等于键的记录。让这组记录存储在数组r[l.n]。Ruocha

如果搜索成功,输出记录在R数组中的位置和值;否则,显示“不”。

查找”信息。请简要说明算法思路,写出算法。分析:把要检查的记录作为支点,从后到前依次进行比较。如果它们小于枢轴,

轴,从前到后,直到搜索成功返回到其位置或未能返回到0。

` int索引(RectType R[],int l,h,数据类型键)

{int i=l,j=h;

while (ij)

{ while (i=j R[j])。key key)j-;

if (R[j].key==key)返回j;

而(i=j R[i]。key key)I;

if (R[i]。key==key)返回I;

}

cout“未找到”;返回0;

}//索引`

现在时22时54分 你今天过的开心吗如果不开心记得早点睡觉 明天醒来又是活力满满的一天哦 我也要勇敢的奔赴考研的战场了。加油

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70035.html

(0)

相关推荐

  • SAP GUI里Screen Painter的工作原理是什么

    技术SAP GUI里Screen Painter的工作原理是什么今天就跟大家聊聊有关SAP GUI里Screen Painter的工作原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大

    攻略 2021年12月3日
  • 通勤是什么意思,中国移动通勤流量包什么意思

    技术通勤是什么意思,中国移动通勤流量包什么意思通勤流量就是在上下班通勤时间的指定流量,以郑州移动9.99元通勤流量包为例,10G通勤流量包包含10G国内流量,流量有效期为订购当月每天6:00-9:00,17:00-20:

    生活 2021年11月1日
  • 音频测试相关测试指标

    技术音频测试相关测试指标 音频测试相关测试指标音频测试常用的测试指标主要有电平(Level)、频率响应(FR,FrequenceResponse)、总谐波失真(THD+N)、信噪比(SNR,Signal

    礼包 2021年12月24日
  • 微信清空聊天记录,手机微信聊天信息如何清屏

    技术微信清空聊天记录,手机微信聊天信息如何清屏1、打开手机,在手机桌面找到微信选项软件,点击进入微信清空聊天记录。2、在微信界面中,点击我选项进入。3、在我界面中,点击设置选项进入。4、在设置界面中,点击聊天选项进入。5

    2021年10月23日
  • 古诗竹里馆,《竹里馆》全诗内容是什么

    技术古诗竹里馆,《竹里馆》全诗内容是什么唐  王维 《竹里馆》 独坐幽篁里古诗竹里馆,弹琴复长啸。
    深林人不知,明月来相照。 译文 :
    独自闲坐幽静竹林,时而弹琴时而长啸。
    密林之中何人知晓我在这里?只有一轮明月静

    生活 2021年10月22日
  • 没关水龙头打一成语,元宵灯谜大全及答案(1000个)

    技术没关水龙头打一成语,元宵灯谜大全及答案(1000个)拜年没关水龙头打一成语。 (打一作家名) 贺敬之 除夕守岁数钟声。 (打一商业用语) 年

    生活 2021年10月25日