iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
自我挑戰組

從零開始學Java系列 第 22

Day22 Arrays and More Data Structures (Ⅱ)

排序法有很多種,也牽扯到資料結構以及演算法,像是二元搜尋法、氣泡排序法…
舉個sorting的例子來說:有陣列要記得先import java.util.Arrays;要打上Arrays.sort();才能產生排序的用法,然後印出要像昨天介紹的補充一樣使用printf,因為是字串所以用%s。
https://ithelp.ithome.com.tw/upload/images/20211004/20140457wuffmlY3Zx.jpg
結果:跑出amy因為a是第一個字母。
https://ithelp.ithome.com.tw/upload/images/20211004/20140457XokRTnBRbn.jpg
氣泡排序法:原理是第一個跟後面的數字比,如果比較大就往後,一直比下去,直到最後是按照小到大排!
https://ithelp.ithome.com.tw/upload/images/20211004/20140457ZX5TVI4lEl.jpg
為了找到指定值的位置,利用線性搜索會比較方便與所有元素做比較。
寫法如下:found是為了顯示第幾筆資料
https://ithelp.ithome.com.tw/upload/images/20211004/20140457e7WonOmTQP.jpg
結果:因為上面打key=4,所以找到key在第二個位置
https://ithelp.ithome.com.tw/upload/images/20211004/20140457v7Pjr2Esk5.jpg
二元搜尋法(Binary Search):原理是每次都是從中間開始比較,若比較小就把左邊再切一半比較,若比較大就從右邊再切一半比較,以此類推。
https://ithelp.ithome.com.tw/upload/images/20211004/20140457CPZYWDj6FC.jpg
資料結構簡介:
●資料結構是在程式中組織數據使城市能夠高效率執行的一種特殊方式
●資料結構的選擇取決於應用程序
●作為數組的替代,串鏈(linked lists)用於不同數組的方式儲存數據
在這邊推薦一個網站叫LeetCode,它裡面有許多資料結構的問題可以參考!
https://ithelp.ithome.com.tw/upload/images/20211004/20140457V972yloPkI.jpg


上一篇
Day21 Arrays and More Data Structures (Ⅰ)
下一篇
Day23 Methods (Ⅰ)
系列文
從零開始學Java30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言