fbpx
Uncategorized

什麼是 B+ Tree

上一篇學習 什麼是 B-Tree 這篇就來補 B+ Tree 囉 B+ Tree 特徵 每個葉子節點都帶有指向下一個節點的指針,形成有序鏈表,加速範圍查詢 只有葉子節點帶衛星數據,父節點只帶關鍵字與指針,單一節點更省空間,讓查詢 I/O 變小 所有查詢都會查到葉子節點,查詢性能穩定 B+ Tree 更加矮胖 B+ Tree 中的內部節點,只存放關鍵字與子節點的指針,不存其他的 Satellite Information,因此最大化了內部節點的分支因子,所以說以同樣大小的硬碟分頁可以容納更多的節點元素。 換句話說,以數據量相同的情況下, B+ Tree 會比…
學程式助教
November 21, 2019
Uncategorized

什麼是 B-tree (Balance tree)

一般像是 MySQL PostgreSQL 都是用 Btree 的方式建立索引。 注意:B-tree 不念 B減樹,而是直接念 Btree,所以如果看到 Btree vs B-tree 其實是在講同一個算法。 為什麼用 Btree 用二元樹進行查詢,最快的時間複雜度是 O(logN),以算法邏輯上面來說,二元樹搜尋的查找速度跟比較次數都是最小的,但是要注意的事,我們還需要考量一個現實的問題就是「硬碟 I/O」。 二元樹結構: 數據庫的索引都是儲存在硬碟上,當數據量龐大時,索引的大小可能會有幾 G 甚至更多。 我們不可能在透過索引查詢時,一次把幾 G…
學程式助教
November 21, 2019
Python初學程式工程思維技術問題

Pandas 第2講:Python資料處理套件Pandas資料儲存物件

Open Data: Mobile App Statistics (Apple iOS app store) 當我們在使用python進行一些基本的資料處理時,很常使用python原生的物件,像是 list() , dict() 去存取及運用資料,但當我們的資料變得複雜的時候,這些原生物件反而顯得有些不便,像是二維陣列的元素計算就是較為複雜的資料形式,每一次的運算可能都要使用多個巢狀迴圈去處理,所以面對這種複雜且大量的資料,我們需要專門處理資料的套件幫我們節省一些作業時間,讓我們可以專心的研究資料內容。 使用資料表 (more…)
學程式助教
November 21, 2019
Javascript

React效能優化基本招

會慢基本都是慢在 render function,如果巢狀 components 從父節點開始重新渲染,導致下面的子節點跟著重新 render 就會不必要的效能浪費。 所以基本招大致上是兩招, 區分何時用 Component 和 PureComponent 的時機 shouldComponentUpdate 阻擋不必要渲染 (more…)
學程式助教
November 20, 2019
初學程式

coding第十講:如何開發一個App或網站

拿筆寫??? 今天要來聊聊如何開發App或網站。一樣,我覺得這種技術並不是「學校上個課就可以學到的東西」。 先說說我自己的經驗,當初自己對軟體工程師的想像也是「製作產品的人」。而以政大資管來說,大一的程式設計教的語言為Java,期中期末都是考物件導向的觀念,題目大致上就是改改小考、lab作業,老師會給一個類似系統分析文件的檔案,用紙筆寫下code,這都是上學期。 (more…)
學程式助教
November 16, 2019
初學程式

coding第九講: 寫程式的情境,軟體開發是怎麼一回事

寫程式跟寫報告看起來差在哪? 其實感覺到自己還沒有資格寫這個主題,畢竟自己參與的大型專案、幾萬行code的作品都還沒有(幾千行倒是有XD),對於clean code也還在學習階段,所以這篇其實不會告訴你真實的軟體專案管理會是什麼樣的情境,算是本科系學生在做程式專案的時候會怎麼做?以及目前我對軟體開發的流程,比較偏向心得跟經驗談。 因為我本身是個生產力愛好者,裡面有許多我在專案管理所用到的工具介紹,如果您不熟悉專案管理,這篇文有很多好用的工具哦! (more…)
學程式助教
November 16, 2019
初學程式

coding第八講:工程師的社交平臺,GitHub的正確用法

GitHub的吉祥物(? 正音班:請唸ㄍㄧ ㄏㄚˋ 不是 居ㄏㄚˋ 網路上已經很多關於Git還有GitHub的教學了,這篇不會教跟Git還有GitHub有關的操作,但是會給剛學程式的新手們關於Git系統最淺白的認識,還有可以怎麼使用。 如果您剛學程式沒多久、或者從學校學的東西都沒有好好用GitHub,這篇對您的幫助應該很大,開始今天的課程吧! (more…)
學程式助教
November 16, 2019
初學程式

coding第七講:程式語法,要不要背?

能夠從繁雜的程式語法中解放出來嗎? 其實不用 好像很多人都在苦惱自己背不起來語法,這個擔心有點太多餘。 現在學校的程式教育,會考語法,主要的原因就是學校都從最基本的開始教,流程控制、變數指派….. (more…)
學程式助教
November 16, 2019
初學程式

coding第六講:要怎麼練習程式思考?

思考框架是好是壞? 這個問題就像練習如何思考一樣有趣。 網路上有非常多的思考技巧,打開Youtube也有很多的個人思考辦法。 我自己是思考技巧的愛好者,現在還是喜歡鍛鍊自己的思考框架、看看別人是怎麼想問題的。最早開始碰到思考技巧,是高中的時候。 還記得高中升學時,特別為數學這科大魔王寫了半本的數學思考辦法。那本筆記是整理建中數理資優班,如何解決問題的,裡面有很多解題的方式,解題。解決問題,這也帶出了為什麼今天要寫這個主題: 所以,我們為什麼要思考?正確的是,不思考會犯什麼錯誤? (more…)
學程式助教
November 16, 2019
初學程式

coding第五講:寫程式的思路,我怎麼想?

好煩哪!寫不出來啊啊啊???????? OK! 這應該是一個我認為現在最有效、最愜意,寫起來感覺比較良好的方式。 也就是我「寫程式時的思路」。 有太多的程式教學都是:「告訴你用法,給你一個範例,要你練習。」 「給他一條魚,不如給他一支魚竿。」 (more…)
學程式助教
November 16, 2019