业界动态
【算法图解】二分查找、选择排序、快速排序
2025-01-02 16:24

        算法是一组完成任务的指令。任何代码片段都可视为算法。本篇文章旨在快速搭建算法框架,为读者快速入门算法打下基础,故涉及算法知识但尽量不涉及复杂的语法知识。


        假如你需要在一本100页的书中查找所需要的某一页(如30页吧,我们可以从头开始翻页,一页一页地查找直到找到想找的那一页。但你可能不会这么做,因为你知道30页在全书的中部靠前的位置,所以你多半是先取到书的一半(50页)左右的位置,再向前翻

        那么,当我们登录一个网站(如CSDN),输入我们的用户名和密码时,CSDN数据库必须先得核实你是否注册过账号,于是它就在数据库中寻找你的用户名。假如你的用户名为TJUTCM,那么它可以从A打头的位置查找,但显然更明智的做法是从中间开始查找。

        这种算法,普遍地被我们使用,我们称其为二分查找

        实例:如果我在1-100中选择一个数字让你来猜,你会怎么做呢?是从1一直顺序报数1,2,3,...这样到100?还是使用别的思路呢?显然,这里使用二分查找再合适不过了。

 

        一般而言,对于包含n个元素的列表,用二分查找最多需要log2n(以2为底,n的对数)步,而简单查找最多需要n步。但需注意的是仅当列表是有序的时候,二分查找才有用


        假如你需要在教务系统查看本学期的课程所对应的学分排序,将查询到的课程按照学分从低到高排序,一种方法是遍历这个列表(课程和其对应的学分)找出学分占比最低的课程,并将该课程添加到一个新列表中;再次这样做,找出学分占比第二低的课程;继续这样做,你将得到一个有序列表。

        O(n)时间意味着查看列表中的每个元素一次,我们对课程列表进行简单查找时,意味着每个课程都要查看一次,如此一来单趟就花费了O(n)的时间而对于这种时间为O(n)的操作,你需要执行n次

        因此对于这种时间为O(n)的操作,你需要执行n次。而这种算法我们称其为选择排序

 

        随着排序的进行,我们发现:每次需要检查的元素数在逐渐减少,最后一次需要检查的元素只有一个。既然如此,运行时间怎么还是O(n^2)呢

        我们发现:第一次需要检查n个元素,但随后检查的元素个数依次为n-1,n-2,...,2和1。平均每次检查的元素数为n/2,因此运行时间为O(n^2/2),大O表示法省略诸如1/2这样的系数,故算法的时间复杂度为O(n^2)。


        如果老师要求统计班级学生的人数,而又不想自己一个个数人数。于是老师便想到了个好主意:指定两个班级负责人,一男一女,让着两人分别去统计男生和女生的人数。这两个同学也不想自己一个个数人数,于是再把男生和女生部分分别划分为不同的小组,再让小组长去统计小组的人数......

        如此一样,人数统计问题便被人为地划分、简化为小问题,这些小问题又可以接着划分为更小的问题直到问题不可划分。这时再一步步回退就能得出大问题的解了。我们将这种算法称为快速排序算法

 

        快速排序算法将问题逐步分解,最终分解直至子问题达到基线条件(为空数组或只包含一个元素)。实现快速排序时,随机地选择用作基准值的元素,快速排序的平均运行时间为O(nlogn)。

    以上就是本篇文章【【算法图解】二分查找、选择排序、快速排序】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/14755.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
盘点2024西安荣耀时刻!“西”引力爆表!
从传统文化的深厚积淀到旅游行业的蓬勃发展从非遗艺术的薪火相传到现代潮流的创新融合……今天,和文旅君一起回顾2024年古都西安
惠山街道2024年工作总结和2025年工作思路
2024年工作回顾2024年惠山街道始终坚持以习近平新时代中国特色社会主义思想为指导,认真落实区委、区政府决策部署,坚持稳中求进
天气|明日“小寒”!最冷“三九”就要来!
今日天气实况今日迎来2025年的首个双休日天气状况还不错天空晴朗,阳光温暖,风力微弱15时全市各区气温在7℃左右明天迎来小寒节
枝江市2025年“十大民生项目”公布!
枝江市第七届人民代表大会第五次会议于2025年1月10日票决产生了枝江市2025年度重大民生实事项目一起来看看↓↓↓一、枝江市枫杨
原来是这样 | 又上热搜!最近很火的“煮苹果水”,到底怎么喝更有用?
鄠邑区是中国科协命名的“全国科普示范区”,为进一步弘扬科学精神、普及科学知识、传播科学思想,鄠邑区科学技术协会联合鄠邑区
惊掉下巴!他俩在一起了???
新发色迎新年 2025鸿运当头拉满仪式感从头开始换个气场NOUGAT ,欧美名媛凯特王妃最爱的纯有机老牌洗护自然原生植萃护不伤头皮、
第一批鸡娃英语的妈妈,都后悔了……
虽然科大大同事们都说不卷,但又悄咪咪卷(啪啪打脸中…)的家长,2年级用上倾听者不算晚!说真的,有了它,吼孩子都少了!产品
发改委:推进户用光伏发展,助力农民拓宽增收新路径
中国产品流通经纪人协会供销合作行业标准《农产品食品供应商信用评价规范》参编单位征集函中国农产品流通经纪人协会供销合作行业
泉州百度爱采购运营介绍
百度爱采购入驻条件有哪些:商家需持有工商行政管理局颁发的营业执照,并且执照在6个月有效期内;厂家商品真实在营且符合国家相
抖音feed是什么 feed广告投放流程
feed是什么?feed流(又称信息流)它是穿插在App内容中的广告,具有原生沉浸式体验,支持多种展现形式。feed可以进行线索收集,