well merge sort can be easily implemented as a stable sorting method by recursive definition. I dont know why you make such a wrong claim about the difficulty. As long as you have a clear mind, duplicated elements can be handled with ease.
bruh, merge sort has a very long history and a simple divide and conquer algorithm, I dont know how your teacher didn't know about it. Also using AI to sort array is really a stupid idea.
選尛…… 1:04
计算机系学生狂喜!!希望老师能多出算法系列; )
事实上,他这里的排序么有考虑每次交换的成本,也就是第一和第二本书交换的代价要远远小于第一本和第一万本书的时间
如果你是计算机系学生,这些应该是基本的。。。不用李老师教
@@ctourmaline 又不一定是排序算法,如果能讲dp,搜索,贪心也是非常有帮助的
比大小用一串命令就可以实现吧
这些说给非专业的普及很好,专业的还是去leetcode刷题吧哈哈
書的編碼 會限制編碼數字的長度
所以李老師沒有收錄的counting sort 才是最快的
實際上圖書館用的方法 也最接近counting sort
(看編碼開頭幾號 就放去哪個區域的哪個書櫃)
bucket sort 也可以
还是扫描进电脑里做成电子版
Counting Sort 和 Bucket Sort 好像用不了,因为家里的书不会有或者不使用编号吧?应该按标题或作者的字母或拼音排序,或者尺寸厚薄,对不?
P.S. 除非根据上述标准把每本书都测算出编号
需要的就是有一套排序標準
然後知道最大、最小值
@@chikao6763 差不多 反正實際人類整理書的時候 不會用比較類型的排序
计算机专业的毕业生来指出视频中的几个瑕疵哈~
(0)视频忽略了排序算法分析的理论前提:用比较次数衡量一个算法的快慢能够比较准确地反映这个算法的执行效率。在现代计算机的执行模型(CPU-随机存储器)里,这个前提是合理的,因为其他的操作次数和比较次数几乎总是在一个量级。但是如果情况变成现实中的整理书架这件事,那会不会出现”把一本书搬到另一个地方“比”拿出两本书比较一下次序“所花时间精力多很多的情况呢?如果搬书的时间成本远大于比较的成本,那用比较次数来衡量算法的效率就是不合适的。
(1)当n=10000时,时间复杂度O(n^2)的算法所需的时间是不能写作O(10000^2)的,因为大O记号里的n不是自由变量(说人话的话,此n非彼n),所以不能代值进去计算。事实上,根据大O记号的定义,O(10000^2)相当于O(1),这么写是没有意义的。
(2)视频结尾所说的排序最少需要O(nlogn)的前提--“任何情况下都能排好”,这个说法不准确。准确的说法是基于比较的排序最少需要O(nlogn),此结论可通过adversary argument证明。
开始涉及算法了,期待会有一个完整的系列!
计算机的很多问题本就源自于生活
很好的科普,小学生也能学习好的基础算法
13:21 快速排序法的最好情况似乎是有(log2 N+1)项相加
排序是所有演算法必學的第一課啊,從泡泡排序、快速排序一直到merge sort都有。老師這門課都跨到演算法了,有沒有考慮介紹一下希爾排序?
李老师,您介绍的排序算法都属于比较排序,但其实对于视频里讨论的问题(对数字排序)最快的排序算法应该是Radix sort,只需要O(d*(n+b))。对于10000本书,那么d就是4(从0到9999),b是10(十进制),算法时间复杂度可以降低到O(4*(n+10))。我觉得这个算法知名度低主要是国内计算机系不教。我在国内和美国都上过数据结构和算法课,美国这边就教,当时真是让我开了眼了,特别是讲到IBM利用radix sort对打孔卡进行排序的例子(机械的,而非计算机)。不过真正要对书进行排序的时候主要还是对文字(作者或者书名)进行排序,这时候比较排序算法就更实用了。用Radix sort也是可以的,但是要对一串长书名进行排序,d会很大,大部分情况可能就不如O(nlogn)了。
你说的应该是基数排序吧,毕业十年多了,我记得国内大学是有教的,不过考试最多考个选择题
再补充几句。Sorting的数学逻辑是这样,但是要实现计算机编程,也不是那么简单。第三种方法,有些给出的编程方法,都有Bug,这些Bug,只是在某些特殊情况下会出现。比如说,要Sorting的数列中,有相同的数,或者特定地方出现相同的数(比如第四种方法,在分组时,不同组,存在相同的数)。由于计算机Sorting的编程,是通过内嵌循环recursion实现,如果要在内嵌语句中,再加入筛选规则,很复杂。
well merge sort can be easily implemented as a stable sorting method by recursive definition. I dont know why you make such a wrong claim about the difficulty. As long as you have a clear mind, duplicated elements can be handled with ease.
我做過檔案倉務員,我能說雖然整理書架與計算機科學的排序類似,但還是有差啦,要考慮有沒有多餘的空間放書(Memory)還有方法會否浪費氣力
用插入排序法Insertion sort舉例,以編程的說法,每次要看/拿起一本書(最終會閱覽全部書),與前面的書比較,直到找到對的位置
但真人嘛...與前面的書比較,不用倒序的把每本書數一次,直接看看中間的號碼決定再向前走還是向後走吧,最壞情況的O(n²)都變成O(n log n)了
而且,怎樣把一本書調次序到較前處?拿著它走到那裡,把手插進書中間,往後一推,空間不就出來了XD
二分搜優化XD
空间和时间的trade off😂
即便是歸併法只有1個人的作業每本書的位置還是得親力親為啊......
事實上俞敏洪老師乾脆照顏色分再按書籍尺寸大小排就可以了。
不得不说这期略水啊,计算机算法的入门章😁
还有个地方感觉略微不太严谨。就是最后说的O(nlogn)的下限是针对所有比较类排序的算法,还有一些很特殊的非比较类排序的算法是不受这个下限限制的,比如桶排序。不过桶排序有很多其他限制,所以李老师说所有情况下都要排序的下限是O(nlogn)的话感觉也没错😆
桶排序不是排序算法
@@abenbit 为啥不算?🤔️
學資訊的必學(也是最基礎的)
不需要时间。第一,商人不看书,看人心,了解人们心中的欲望。第二,商人思考得与失,而拥有一万本书并能徜徉其中,听着书页翻动的声音,快乐如同数钱。
李老师好!现在Netflix在更新一部被称为鱿鱼游戏真人版的竞赛节目,叫physical 100。里面第四到第六集有两个团体竞赛,分别是过吊桥搬沙子和在沙地推1.5吨的船。我很好奇物理学角度来看如何完成这两个关卡效率最高😁 要是您有兴趣能做一期节目就好了😊
诙谐幽默的说:如果俞敏洪要按书的页数排序,建议他在家里的地板上,从0到十万转圈画出刻度(假设最厚的那本书是十万页)。每本书是多少页,就放在那个刻度上。无需对比排序。
其實就是不用每次都找比現在這本書厚/薄一點的書在哪
这不是排序问题而是数据的读写问题吧。抄录每一册书(每一种页数)的书架位置后查表即可获得所在位置信息,无需物理排序。排序问题的本质在采用何种比较算法,即按什么规则算大小(既怎么算),然后为了这些绕不开的每一次比较大小,派生出了各种排序算法(既算几次)。比如最喜欢的书排序,为什么A书是34号而B书是35号,计算必然派生出排序,不知道对不对?
哇塞 離散+演算法都能解釋
不愧是李老師
希望老师出多一点关于算法的视频,真的帮助很大!!!感谢!!!
很有趣也有幫助!以前縂從機率角度去計算!
如果真有幾百甚至上萬本書需整理,建議將全部掃描進電腦中,存儲於NAS中,如此隨時可用電腦或手機閱讀,也可節省大量儲存空間。
老师其实有一种算法叫希尔排序,时间复杂度是O(n^1.3),非常神奇,我都没法证明可行性🙃
现在希尔排序的准确时间复杂度还是未解数学难题
那不如O(n·logn) 吧
我有两本书。。一本是鸡蛋 一本是鸡,
我应该把哪一本排在前面?
我还有一万本 【昨日传记】随机记录昨天在想的事,
要怎么排列 哪本先给今天阅读 又哪本给明天阅读?
第二天的顺序 还是昨天的顺序吗?
李老师,介绍下charGPT的背后原理和逻辑,很感兴趣
雖然聽起來很蠢,但是有一種排序法理想值是O(n),但是最壞的情況是O(∞),這個排序法叫 bogo sort,原理是每次隨機亂數洗牌,然後檢查洗出來的排是否剛好由小到大或由大到小
整理书架必须考虑空间复杂度啊。时间长可以慢慢整理,但是房子不够大就没办法。所以快速排序和归并排序的空间复杂度是O(nlgn), 一万本书需要13万本书的空间,几乎不可行。
可不是哦。不算本来数据的空间的话,且对空间的使用是in-place的情形下(对书排序也不可能是functional的情形吧)快速排序和归并排序额外空间O(log N)都够了。并且归并排序实现成bottom up的方式的话O(1)的额外空间就够了。
感慨啊。 20年前,教室里的情景浮现眼前。记得那时,老师说,第三种方法是已知的最快Sorting. 今日才知道还有第四种方法。我想:能否将AI也引入排序?比如,中国人身高排序,直接以170cm作为平均值;荷兰人身高排序,直接以185cm作为平均值。还有,就是“模糊(近似)排序”?在时间有限,算力有限的约束条件下,只给出近似的排序结果,即可。
bruh, merge sort has a very long history and a simple divide and conquer algorithm, I dont know how your teacher didn't know about it. Also using AI to sort array is really a stupid idea.
从均值开始大家都下做啊,快排都是先随机化,怎么这样第一个大概率就是均值,不会出现最坏情况。不需要什么AI
理论上堆排序是很快的,但实际上如果我有一个书柜,采用堆排序的话,估计会比选择排序慢很多很多。理论上快速排序比堆排序块,然要我手动去操作书柜的话,估计还是比选择排序慢。。。。
我也这么想的
一个人一堆书排序,快排效率最高,因为不需要来回跑。一群人把一堆书排序,归并效率最高,因为可以大规模并行。
这跟体系结构有关。
沒有擁有一萬本書放書架的人會這樣排序吧(這可是圖書館的存量呀)…肯定要做個編碼貼在書上讓自己可以O(n)時間完成的。
虽然各种排序早就看过很多遍,不过李永乐老师的版本是思路最清晰的😄
书有编号,找个架子,也编号,对号入座,也就排好顺序了呀,一秒钟放一本,那我一共3个小时就完了
@@刘志聪 哦你说的是桶排序,时间复杂度是O(n),不过缺点是不灵活,只能应对一些普通的情况
@@jzxwastaken8297 所以嘛 今天老師用的"例子"並不好
我以前上學時當過圖書館管理員 學校藏書不多只有大概八千 剛好有一年需要"盤點"
一直在聽到老師說要三年時間 來整理書架
完全感覺不到這是事實……
@@seapiano 那是因为盘点时,序号大部分还是对的
是的,我没看到哪本书把时间复杂度讲明白。
不知道李老师有没有看三体。能否花一节课讲讲三体运动问题?
另外三体里面提到的进化算法,有没有机会给大概介绍一下?谢谢。
1:03 選三小...台灣人才懂的笑點XD
三年整理一次 一次整理三年👌
Leetcode 课程是不是可以期待下?!
書還沒分類,不知道排序甚麼?
了解公式的物理基本意義真的比計算快慢重要。
落了一个重点,老俞可以雇很多人 不管什么情况都能在几天内完成
老师可以做一期怎么打气球效率最高成本最低,听说后面还有很多气球,用响尾蛇导弹是不是太浪费钱了
李老师,我是您的粉丝,问您个问题,在相同的电压下,同一个设备,国内50Hz.,美国60Hz,对于熔炼感应器加热线圈,哪种频率功率比较大?谢谢了!我在网上查询的是高频率时功率大,低频功率小,对吗?
辛苦了李老师😊
我是喜欢历史的书,然后放一堆,然后与科学相关的放一堆,心理的放一堆,文学一堆,其它放一推
如果是一万本的话可以用Counting sort
李老师,你拿一幅打乱的扑克牌用最佳方法实战演示。
个人认为,整理书的话,首先列一个表格,从1开始,每买新书就持续往后编号,根本就不会出现这个问题吧😂
计算机处理排序从小到大排序是用的哪一种方法?
使用暴力演算法時統計結果也會用到排序。
當初這塊我搞了好久。
李老师,最近有个视频很火,说车钥匙离车很远,不能按响车的时候,把车钥匙抵在头上就能控制到车了。这个用人头做信号放大是真的吗?
假的,实测无意识,能开,都能开,不能开,都不能开。管用的距离不知在哪里。
先把書架編號,再把書放進去就行啦,用空間換時間
李老师,您在某一期的视频上介绍了一个解题网站,但我现在找不到了,请问您能帮忙再推荐一下么?
李老师有考虑讲一下最近很火的ChatGPT?
排序法自从人类诞生就开始了,深入人类基因,选择其实就是一种排序
如果10个人一起排序哪个快?
从搜索引擎的角度来说,最好的排序法是--竞价排序法
老师,可以讲一下,什么是量子芯片吗?
資工(計算機科學)必修
选三小还确实是有节目效果的😂
推薦👍
臺譯:
快速排序法?我们大数据要用到的
李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。李老师能否讲讲红外线医疗灯紫外线医疗灯的工作原理。
竟然開始講資料結構了!
感覺李老師接下來是談作業研究...XD
是演算法不是資料結構
這個叫 algorithm, not data structures
這些演算法,都可以用陣列,node list...等等實作,這些才是資料結構,算法本身並不包含(指定)所需要的資料結構(當然,也會有探討特定資料結構的演算法,但這裡只談到演算法,並無涉及資料結構)。
我的老天!
翻了翻我20多年前資料結構的課本,
(封面是兩人推一根棒棒)
老師還真是教錯了...
@@PigSirotan 小本的要收好XD
做多了就只会sorted(nums)
热乎的!
求李永乐老师讲三体
怎麽這集觀看的這麽少?這集很實用啊!
补充两句。如果从计算机实际应用的角度看Sorting技术,最大的制约是计算机存储的限制。比如说,要比较4个2位数字,我分配100个空白存储单元,挨次读取存并入存储单元即可,数字35存入35号存储单元,46存入46号单元。不需要Sorting. 当然了,将数字存入内存,是要消耗时间的。
我真是一位不看著老師的眼睛、黑板會分神的學生
李老师,赶紧的,chatGPT呀
算法欸,讚啦!!
归并排序本质还是用空间换时间吧
看youtube上面的Sorting Algorithms影片會很療癒。😁
好!
我澎漲了,竟然開始看算法
一萬本書還要彼此都能比大小,看來只能按照 ISBN 排序了…… 沒人書架這樣排的吧
出一个系列吧,老师讲得太困了,很多无效信息浪费时间😭
排序演算法
老师,本小朋友还想听红黑树。
求其他小朋友支持。
bubble sort, quick sort, merge sort
Amazing.
感觉这个和算汉诺塔是一样的吧
老師如果在選題上遇到困難,可能還是需要蹭熱度的話題還是不錯的,可以從 娛樂,熱門科技話題方面下手,一定會有好成果的,希望老師可以順順利利喔
所以重点是电子书容易整理
开始讲数据结构了。
如果你的運氣非常好,那Bogo排序是最快的
學極師授無國界
1:03😄😄😄
好有趣 做點A*尋路介紹?
👍👍👍👍
李老师可以做一期高空打气球专题 肯定很不错
1:03
如果每10个一组 分为一千组然后再把10组分为100个班。以此类推
我都用bogo sort
以后小朋友能不能问ChatGPT?😂
现在就可以
現在小朋友還沒出生呀
我脑袋根本记不住数学公式,看来这一生和数学是没缘份了。。。。
1:04 然後選三小……(重點誤w
孔子读万卷书不如行万里路,才这么本领,是不是骑马车去 ?怎么去 ?火车也没有,MRT 也没有,聪明的人,妈妈教育很好
👍👍 401的
看到log就沒辦法了。
🎈飞到美国需要多长时间呢?
一万本书用快速排序吧
Obama: Bubble sort would be the wrong way to go😊
我最多只能排三本,排完最小,二小,然後排三小!