首页/文章/ 详情

MATLAB课程之第六章v3 走进算法之门(3)

10月前浏览3182

继续讲解!讲到这里的时候也是大家需要开始回顾和复习本课程知识点的时候了!

思考:利用冒泡排序法将 38、49、65、13、27 完成排序需要几步?

解:(1)38   49   65  13   27

       (2)38   49   65  13   27

       (3)38   49   13  65   27

       (4)38   49   13  27   65

       (5)38   49   13  27   65

       (6)38   13   49  27   65 

       (7)38   13   27  49   65

       (8)38   13   27  49   65

       (9)13   38   27  49   65

      (10)13   27   38  49   65

根据以上步骤得出,用冒泡排序法完成排序需要10步。进一步思考:能否用更少的步数完成排序?

基本思想:

(1)从数列中挑选出一个元素,成为“基准”。

(2)所有元素值比基准值小的排在基准前面,所有元素值比基准值大的排在基准的后面。(此时数组依然是无序的)

(3)对上一步分成的两端无序数组重复步骤(1)和(2),直到完成排序。

小戴曾经上过我的课,现在的他已经工作了!细心的小戴同学,真棒!那怎么解决这个问题呢?期待同学们给我答案!

 findpeaks函数的扩展用法:

[...] = findpeaks(data,'minpeakheight',mph)----mph 设定峰值的最小高度

[...] = findpeaks(data,'minpeakdistance',mpd)----mpd 设定两峰值间的最小间隔数


未完,待续!


修订记录

20230928 完成初稿;

20231001 修订内容v2;国庆节快乐!

20240101 修订内容v3;元旦快乐!

来源:通信工程师专辑
MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-01-03
最近编辑:10月前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 395粉丝 2582文章 335课程 40
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈