Java算法和數(shù)據(jù)結(jié)構(gòu)概述

一馅袁、數(shù)據(jù)結(jié)構(gòu)

1、常見數(shù)據(jù)結(jié)構(gòu):Array(數(shù)組)荒辕、Stack(棧)汗销、Queue(隊(duì)列)、LinkedList(鏈表)抵窒、Tree(樹)弛针、Hash(哈希表)、Heap(堆)估脆、Graph(圖)

2钦奋、各種數(shù)據(jù)結(jié)構(gòu)總結(jié):

(1)、數(shù)組:

????優(yōu)點(diǎn):插入數(shù)據(jù)快

????缺點(diǎn):查找慢,刪除慢付材,大小固定朦拖,只能存儲單一元素

(2)、有序數(shù)組:

????優(yōu)點(diǎn):比無序數(shù)組查詢快

????缺點(diǎn):查找慢厌衔,刪除慢璧帝,大小固定,只能存儲單一元素

(3)富寿、棧:

????優(yōu)點(diǎn):先進(jìn)后出

????缺點(diǎn):存取很慢

(4)睬隶、隊(duì)列:

????優(yōu)點(diǎn):先進(jìn)先出

????缺點(diǎn):存取很慢

(5)、鏈表:

????優(yōu)點(diǎn):插入快页徐,刪除快

????缺點(diǎn):查找很慢

(6)苏潜、二叉樹:

????優(yōu)點(diǎn):如果樹是平橫的,查找变勇、刪除恤左、插入都很快

????缺點(diǎn):刪除算法復(fù)雜

(7)、紅黑樹:

????優(yōu)點(diǎn):樹總是平衡的搀绣,查找飞袋、刪除、插入都很快

????缺點(diǎn):算法復(fù)雜

(8)链患、2-3-4樹:

????優(yōu)點(diǎn):樹總是平衡的肉康,類似的樹對磁盤存儲有效嫡霞,

????缺點(diǎn):算法復(fù)雜

(9)坠非、哈希表:

????優(yōu)點(diǎn):如果已知關(guān)鍵字則存取極快

????缺點(diǎn):刪除數(shù)據(jù)慢兼蕊,不知道關(guān)鍵字則存取數(shù)據(jù)都很慢,對存儲空間使用不充分

(10)芯肤、堆:

????優(yōu)點(diǎn):插入數(shù)據(jù)和刪除數(shù)據(jù)都快巷折,對最大項(xiàng)數(shù)據(jù)存取快

????缺點(diǎn):對其它數(shù)據(jù)項(xiàng)存取慢

(11)、圖:

????優(yōu)點(diǎn):對現(xiàn)實(shí)世界建模

????缺點(diǎn):有些算法慢且復(fù)雜


二崖咨、算法

? ? 1、算法5個(gè)特征:

????(1)油吭、有窮性:對于任意一組合法輸入值击蹲,在執(zhí)行又窮步驟之后一定能結(jié)束,即:算法中的每個(gè)步驟都能在有限時(shí)間內(nèi)完成婉宰。

????(2)歌豺、確定性:在每種情況下所應(yīng)執(zhí)行的操作,在算法中都有確切的規(guī)定心包,使算法的執(zhí)行者或閱讀者都能明確其含義及如何執(zhí)行类咧。并且在任何條件下,算法都只有一條執(zhí)行路徑。

????(3)痕惋、可行性:算法中的所有操作都必須足夠基本区宇,都可以通過已經(jīng)實(shí)現(xiàn)的基本操作運(yùn)算有限次實(shí)現(xiàn)之。

????(4)值戳、有輸入:作為算法加工對象的量值议谷,通常體現(xiàn)在算法當(dāng)中的一組變量。有些輸入量需要在算法執(zhí)行的過程中輸入堕虹,而有的算法表面上可以沒有輸入卧晓,實(shí)際上已被嵌入算法之中。

????(5)赴捞、有輸出:它是一組與“輸入”有確定關(guān)系的量值逼裆,是算法進(jìn)行信息加工后得到的結(jié)果,這種確定關(guān)系即為算法功能赦政。

? ? 2波附、算法的設(shè)計(jì)原則:

? ? (1)、正確性:首先昼钻,算法應(yīng)當(dāng)滿足以特定的“規(guī)則說明”方式給出的需求掸屡。其次,對算法是否“正確”的理解可以有以下四個(gè)層次:

    ? 一然评、程序語法錯(cuò)誤仅财。

     二、程序?qū)τ趲捉M輸入數(shù)據(jù)能夠得出滿足需要的結(jié)果碗淌。

     三盏求、程序?qū)τ诰倪x擇的、典型亿眠、苛刻切帶有刁難性的幾組輸入數(shù)據(jù)能夠得出滿足要求的結(jié)果碎罚。

     四、程序?qū)τ谝磺泻戏ǖ妮斎霐?shù)據(jù)都能得到滿足要求的結(jié)果纳像。

? ? ? ? ? ? ? ?PS:通常以第 三 層意義的正確性作為衡量一個(gè)算法是否合格的標(biāo)準(zhǔn)荆烈。

????(2)、可讀性:算法為了人的閱讀與交流竟趾,其次才是計(jì)算機(jī)執(zhí)行憔购。因此算法應(yīng)該易于人的理解;另一方面岔帽,晦澀難懂的程序易于隱藏較多的錯(cuò)誤而難以調(diào)試玫鸟。

????(3)、健壯性:當(dāng)輸入的數(shù)據(jù)非法時(shí)犀勒,算法應(yīng)當(dāng)恰當(dāng)?shù)淖龀龇磻?yīng)或進(jìn)行相應(yīng)處理屎飘,而不是產(chǎn)生莫名其妙的輸出結(jié)果妥曲。并且,處理出錯(cuò)的方法不應(yīng)是中斷程序執(zhí)行钦购,而是應(yīng)當(dāng)返回一個(gè)表示錯(cuò)誤或錯(cuò)誤性質(zhì)的值檐盟,以便在更高的抽象層次上進(jìn)行處理。

????(4)肮雨、高效率且低存儲量需求:通常算法效率值得是算法執(zhí)行時(shí)間遵堵;存儲量是指算法執(zhí)行過程中所需要的最大存儲空間,兩者都與問題的規(guī)模有關(guān)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怨规,一起剝皮案震驚了整個(gè)濱河市陌宿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌波丰,老刑警劉巖壳坪,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掰烟,居然都是意外死亡爽蝴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門纫骑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝎亚,“玉大人,你說我怎么就攤上這事先馆》⒖颍” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵煤墙,是天一觀的道長梅惯。 經(jīng)常有香客問我,道長仿野,這世上最難降的妖魔是什么铣减? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮脚作,結(jié)果婚禮上葫哗,老公的妹妹穿的比我還像新娘。我一直安慰自己鳖枕,他們只是感情好魄梯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宾符,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灭翔。 梳的紋絲不亂的頭發(fā)上魏烫,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天辣苏,我揣著相機(jī)與錄音,去河邊找鬼哄褒。 笑死稀蟋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呐赡。 我是一名探鬼主播退客,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼链嘀!你這毒婦竟也來了萌狂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤怀泊,失蹤者是張志新(化名)和其女友劉穎茫藏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霹琼,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡务傲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枣申。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片售葡。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忠藤,靈堂內(nèi)的尸體忽然破棺而出挟伙,到底是詐尸還是另有隱情,我是刑警寧澤熄驼,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布像寒,位于F島的核電站,受9級特大地震影響瓜贾,放射性物質(zhì)發(fā)生泄漏诺祸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一祭芦、第九天 我趴在偏房一處隱蔽的房頂上張望筷笨。 院中可真熱鬧,春花似錦龟劲、人聲如沸胃夏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仰禀。三九已至,卻和暖如春蚕愤,著一層夾襖步出監(jiān)牢的瞬間答恶,已是汗流浹背饺蚊。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悬嗓,地道東北人污呼。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像包竹,于是被迫代替她去往敵國和親燕酷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容