生活中的數(shù)據(jù)結(jié)構(gòu)和算法

1,生活中的數(shù)據(jù)結(jié)構(gòu)

??前面我們提了一下生活中的數(shù)據(jù)結(jié)構(gòu):圖書的擺放,為了更加方便的插入和搜索書籍,需要合理的組織數(shù)據(jù),并且通過更加高效的算法插入和查詢數(shù)據(jù),
??除了這些生活中還有很多案例比如快遞員的快遞:上大學(xué)期間不知道大家有沒有收過快遞呢,大學(xué)的快遞通常情況不是送到宿舍的,而是放在某個固定的地方,讓大家自己去拿,當(dāng)你跑到固定的地方拿快遞??爝f管理員一般會將全部的快遞按照物流公司做好分類,然后按照快遞到達(dá)日期再次進(jìn)行細(xì)分,這樣的話就很容易找到相應(yīng)的快遞了

結(jié)論:合理的組織數(shù)據(jù)對于我們獲取數(shù)據(jù)效率的重要性至關(guān)重要

1,生活中的算法

??比如現(xiàn)在有這么一個問題需要解決:北京到上海之間有一座高架橋,高架線的長度是1000000米,有一天高架線其中一處出現(xiàn)了故障導(dǎo)致不能正常工作,但是又不確定具體再哪里出現(xiàn)了問題
??請你想出一種算法,快速的解決這個問題,你會怎么辦呢
下面我就給出兩個解決方案看是不是和你想的一樣呢?

  1. 線性查找:以上海或北京為起點(diǎn)開始一米一米的逐一排查,最終一定能找出出問題的線段,這個方案比較耗時,運(yùn)氣不好的話我們需要排查1000000次,這是最壞的情況,平均需要 500000次
  2. 二分查找:從高架線的中心位置開始排查,首先確定問題是出在上海到中心點(diǎn)的線段內(nèi)還是出在了北京到中心點(diǎn)的線段內(nèi),這樣就可以大大縮小排查范圍,然后同樣的做法,再次排查出問題的線段,以此類推 ,以這種方式的話我們最多需要排查20次就可以找到問題所在,

結(jié)論:解決問題的辦法由很多,但是好的孫發(fā)對比于差的算法有天壤之別

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容