联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

c语言HASH GAME - Online Skill Game ET 300哈希表字典序排序

发布时间:2025-01-29 11:51:05  点击量:

  HASH GAME - Online Skill Game GET 300

c语言HASH GAME - Online Skill Game GET 300哈希表字典序排序

  学的排序算法有:插入排序,合并排序,冒泡排序,选择排序,希尔排序,堆排序,快速排 序,计数排序,基数排序,桶排序(没有实现)。比较一下学习后的心得。 我不是很清楚他们的时间复杂度,也真的不知道他们到底谁快谁慢,因为书上的推导我确实 只是小小了解,并没有消化。也没有完全理解他们的精髓,所以又什么错误的还需要高手指 点。呵呵。 1.普及一下排序稳定,所谓排序稳定就是指:如果两个数相同,对他们进行的排序结果为他 们的相对顺序不变。例如 A={1,2,1,2,1}这里排序之后是 A = {1,1,1,2,2} 稳定就是排序后第一 个 1 就是排序前的第一个 1,第二个 1 就是排序前第二个 1,第三个 1 就是排序前的第三个 1。同理 2 也是一样。这里用颜色标明了。不稳定呢就是他们的顺序不应和开始顺序一致。 也就是可能会是 A={1,1,1,2,2}这样的结果。 2.普及一下原地排序:原地排序就是指不申请多余的空间来进行的排序,就是在原来的排序 数据中比较和交换的排序。例如快速排序,堆排序等都是原地排序,合并排序,计数排序等 不是原地排序。 3.感觉谁最好,在我的印象中快速排序是最好的,时间复杂度:n*log(n),不稳定排序。原 地排序。他的名字很棒,快速嘛。当然快了。我觉得他的思想很不错,分治,而且还是原地 排序,省去和很多的空间浪费。速度也是很快的,n*log(n)。但是有一个软肋就是如果已经 是排好的情况下时间复杂度就是 n*n,不过在加入随机的情况下这种情况也得以好转,而且他 可以做任意的比较,只要你能给出两个元素的大小关系就可以了。适用范围广,速度快。 4.插入排序:n*n 的时间复杂度,稳定排序,原地排序。插入排序是我学的第一个排序,速 度还是很快的,特别是在数组已排好了之后,用它的思想来插入一个数据,效率是很高的。 因为不用全部排。他的数据交换也很少,只是数据后移,然后放入要插入的数据。(这里不 是指调用插入排序,而是用它的思想)。我觉得,在数据大部分都排好了,用插入排序会给 你带来很大的方便。数据的移动和交换都很少。 5.冒泡排序,n*n 的时间复杂度,稳定排序,原地排序。冒泡排序的思想很不错,一个一个 比较,把小的上移,依次确定当前最小元素。因为他简单,稳定排序,而且好实现,所以用 处也是比较多的。还有一点就是加上哨兵之后他可以提前退出。 6.选择排序,n*n 的时间复杂度, 稳定排序,原地排序。选择排序就是冒泡的基本思想,从 小的定位,一个一个选择,直到选择结束。他和插入排序是一个相反的过程,插入是确定一

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: