算法排序

选择排序法

	每一轮在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录,存入数据,共需比较n-i次。

排序过程

 
 
  1. 从n个变量中选出一个a(i)(题目给出由大到小),假设a(i)是最大的;
  1. a(i)与剩下的变量依次比较,比较结果:一是a(i)仍是最大的,继续;二是a(j)最大,那就a(j)代替a(i)的位置,继续比较;
  1. 每比较一轮,将选出的最大值存入a(1)的位置,剩下的变量继续循环1-3步骤。
  1. 第i轮比较进行的操作是:从后n-i+1个变量中选出最大者存入a(i)的位置,共需比较n-i次。
  1. 最后选出数组顺序,依次由大到小排列。

冒泡排序法

	小数沉底,大树上浮。参加比较的两个元素是相邻的,两轮比较可以找出一个本轮最小放在本轮最后,使所有大数前移。


比较


	选择排序中,最伟大的思想是选择出一个数,假设这个数是最大的。假设的思想在计算机编程中用到的时候也很多;冒泡排序中最大的特点就是两两相邻交换,所以交换次数比较。因此,小编开始的时候就认为选择排序比较容易,这是一个误区。经过老师的指导,小编才知道从复杂度的角度来讲,这两种排序算法是相同的。复杂度分为时间和空间复杂度。时间复杂度是指计算时间,空间复杂度是指占用内存等。此消彼长,大家应该就懂了吧。

总结

	通过接触这两个算法,从基础定义入手,我们进行了学习。收获了很多,是不是?
 
 
  • 理论与实践的完美结合,知识才会被我们消化吸收;
  • 比较学习让我们的知识建立联系,发散思维,构建知识网;
  • 思想最重要,具体算法是有小到大还是倒过来由大到小都没有问题,万变不离其宗;
  • 知识是无垠的,接触新知识的时候我们要做到盲人摸象,囫囵吞枣,又陌生到熟悉这是快乐的学习。


视觉直观感受 7 种常用的排序算法 - 文章 - 伯乐在线  http://blog.jobbole.com/11745/

专栏:白话经典算法 - 博客频道 - CSDN.NET  http://blog.csdn.net/column/details/algorithm-easyword.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨倩-Yvonne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值