20162316刘诚昊 《程序设计与数据结构》 第三周学习总结
生活随笔
收集整理的這篇文章主要介紹了
20162316刘诚昊 《程序设计与数据结构》 第三周学习总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20162316劉誠昊 2017-2018-2 《Java程序設計》第三周學習總結
教材學習內容總結
1. 查找是在一組數據中找到指定的目標元素或判定組內不存在目標的過程,常用方法為線性查找和二分查找,而查找問題的大小由查找池中數據項的個數決定。
- [ 線性查找] 從一端開始依次掃描查找池中的數據項。
- [ 二分查找] 二分查找的前提是查找池數據有序。從數據中間開始查找,每次削減一半的范圍量,直到找到目標元素或沒有可行候選者。二分查找采用迭代方法,也可以使用遞歸,一般情況下,二分查找比線性查找更高效。
2. 排序是按照某些標準,將一組數據項按確定的次序重排。本章介紹五種排序算法。
- [ 選擇排序] 反復地將具體的值放到它最終的有序位置。
- [ 插入排序] 反復將具體的值插入表的已有序的字表中。
- [ 冒泡排序] 反復比較相鄰元素若有必要就交換他們的次序。
- [ 快速排序] 通過劃分表,再遞歸地對子表排序。
- [ 歸并排序] 將表平分直至每個子表中只含有一個元素,再將這些子表并為有序表。
選擇排序、冒泡排序算法的最優、最差以及平均復雜度情形都是O(n^2)。
插入排序的最差、平均的復雜度情形為O(n^2),而最優為O(n)。
并歸排序的最差、平均以及最優的復雜度情形都是O(nlog2n)
教材學習中的問題和解決過程
static void sort(type[] a)
采用優化的快速排序算法對數組進行排序。
參數:a 類型為int、long、short、char、byte、boolean、float或double。
- static int binarySearch(type[] a, type v )
static int binarySearch(type[] a, int start, int end,type v)
采用二分搜索算法查找值v。如果查找成功,則返回相應的下標值;否則,返回一個負數值r。-r-1是為保持a有序v應插入的位置。
參數: a
類型為int、long、short、char、byte、boolean、float或double的有序數組。參數: start
起始下標(包含這個值)參數:end
終止下標(不包含這個值)參數:v
同a的數據元素類型相同的值。
結對及互評
20162326齊力峰
齊力峰在本周督促我學習java,很有幸能有一位負責人的搭檔。對于他的博客我覺得有點過于簡潔,可以寫的更詳細一些。
轉載于:https://www.cnblogs.com/ignor/p/7589126.html
總結
以上是生活随笔為你收集整理的20162316刘诚昊 《程序设计与数据结构》 第三周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。