摘要:排序算法索引待更數據結構與算法桶排序數據結構與算法快速排序時間復雜度算法的時間復雜度是一個函數,其定量的描述了一個算法運行時間和輸入規模之間的關系。總結在介紹排序算法之前,本篇先對后面排序算法的基本概念說叨說叨,打下一個基礎鋪墊。
聲明:碼字不易,轉載請注明出處,歡迎文章下方討論交流。
前言:Java數據結構與算法專題會不定時更新,歡迎各位讀者監督。在介紹各類排序算法之前,本篇先聊聊算法中的一些必備知識。
0、排序算法索引(待更)Java數據結構與算法——桶排序
Java數據結構與算法——快速排序
算法的時間復雜度是一個函數,其定量的描述了一個算法運行時間和輸入規模之間的關系。通常用O表示,且不包括這個函數的低階和首項系數。如果一個算法的執行時間為2n^2+5n+4,那么該算法時間復雜度就可以表示為O(n^2)。
一般的時間復雜度,由好到壞大概有這么幾種O(1)、O(logn)、O(n)、O(nlogn)、O(n^k)(k>=2),一般情況下,當算法時間復雜度高于O(n^2)時,性能就變得相當差,此時就該想辦法尋求更優的方案。
O(n^2)的情形for(int i=0;iO(nlogn)的情形 for(int i=0;iO(logn)的情形 for(int i=0;iO(1)的情形 //與n無關的有限次的表達式,例如賦值,簡單的運算等2、空間復雜度空間復雜度是一個算法執行過程中所消耗的臨時空間的一個度量。同時間復雜度一樣,也不包括這個度量函數的低階項和首項系數。相對的應的,空間復雜度也有O(1)、O(logn)、O(n)、O(nlogn)、O(n^k)(k>=2)。
3、穩定性在排序算法中,評估一個算法的優劣,除了時間復雜度和空間復雜度以外,還有一個衡量指標就是穩定性。在一個待排序的序列中,可能存在多個相等的項,經過排序后如果這些項的相對次序保持不變,則我們說這個算法是穩定的,否則就是不穩定的。
研究穩定性的意義在于,如果算法是穩定的,那么第一個元素排序的結果可以被第二個等值的元素在排序時所用,也就是說可以避免多余的比較。
4、總結在介紹排序算法之前,本篇先對后面排序算法的基本概念說叨說叨,打下一個基礎鋪墊。
排序算法索引(待更)
Java數據結構與算法——桶排序
Java數據結構與算法——快速排序
碼字不易,如對您有幫助,歡迎點贊收藏打賞^_^
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71060.html
摘要:穩定與不穩定算法示例以下圖片解釋了穩定和不穩定的排序是如何工作的這就是穩定和不穩定排序算法之間的區別。穩定排序算法的一些常見示例是合并排序,插入排序和冒泡排序。 showImg(https://segmentfault.com/img/remote/1460000018913243); 來源 | 愿碼(ChainDesk.CN)內容編輯 愿碼Slogan | 連接每個程序員的故事 網...
摘要:技術之類加載機制掘金類加載機制是語言的一大亮點,使得類可以被動態加載到虛擬機中。玩轉仿探探卡片式滑動效果掘金講起本篇博客的歷史起源,估計有一段歷史了。 Java 技術之類加載機制 - Android - 掘金類加載機制是 Java 語言的一大亮點,使得 Java 類可以被動態加載到 Java 虛擬機中。 這次我們拋開術語和概念,從例子入手,由淺入深地講解 Java 的類加載機制。 本文...
摘要:結構型模式適配器模式橋接模式裝飾模式組合模式外觀模式享元模式代理模式。行為型模式模版方法模式命令模式迭代器模式觀察者模式中介者模式備忘錄模式解釋器模式模式狀態模式策略模式職責鏈模式責任鏈模式訪問者模式。 主要版本 更新時間 備注 v1.0 2015-08-01 首次發布 v1.1 2018-03-12 增加新技術知識、完善知識體系 v2.0 2019-02-19 結構...
閱讀 2733·2023-04-25 14:21
閱讀 1167·2021-11-23 09:51
閱讀 4001·2021-09-22 15:43
閱讀 606·2019-08-30 15:55
閱讀 1550·2019-08-29 11:28
閱讀 2439·2019-08-26 11:44
閱讀 1675·2019-08-23 18:15
閱讀 2875·2019-08-23 16:42