計(jì)算機(jī) - 話題

數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)心得(轉(zhuǎn))
查看(702) 回復(fù)(0)
sszqm1314
  • 積分:17534
  • 注冊于:2014-03-30
發(fā)表于 2014-05-31 11:43
樓主
考試和算法設(shè)計(jì)精髓一樣:
      時(shí)間消耗越少,一般空間消耗越大,存儲(chǔ)越冗余
      空間消耗越少,一般時(shí)間消耗越大,計(jì)算越冗余
      空間和時(shí)間的消耗如果都降低的話,人的智力和腦力消耗越大,包括人思考所用的時(shí)間和記憶力。
      總之,三者無法 同時(shí)降低,可能有人要問這三句話有什么意義?其實(shí),這三句話的意思就是:其他一個(gè)或兩個(gè)因素的冗余在可以接受的幅度內(nèi),降低另兩個(gè)或一個(gè)因素的代價(jià)。本質(zhì)是折中取舍,如何取舍取決于你的目的。人設(shè)計(jì)高效的算法是需要很大代價(jià)的,但是,高效算法一旦被發(fā)明,低廉且容易的大批量技術(shù)復(fù)制讓它的整個(gè)成本降低,而且,復(fù)制的數(shù)量越龐大,整體成本越低,當(dāng)你在今天使用一個(gè)看似簡單而且高效的算法時(shí),你可曾想過此前有很多人為此付出了巨大的代價(jià)和花費(fèi)?
      這三句話的現(xiàn)實(shí)意義就是,在考試中,你想提高解題速度,你只能在復(fù)習(xí)中記憶更多的常識(shí),知識(shí)和結(jié)論。你想巧妙的解決問題,那么意味著你在考試時(shí)需要付出更多時(shí)間和腦力用于的思考。所以唯一可取的方法是:復(fù)習(xí)中記憶掌握,考試中快速計(jì)算。
      這三句話的現(xiàn)實(shí)意義還有,在記憶時(shí),必如記憶中間結(jié)論和單詞,冗余永遠(yuǎn)不是好的記憶方法,因?yàn)槿绻銥榱擞涀,必須記住相關(guān)的B,那么B怎么記憶呢? 由B該如何聯(lián)想到A呢 ? 你記憶的冗余信息越多,說明你遺忘的幾率越大,因?yàn),?lián)系中的任意一環(huán)都是你記憶的薄弱部分。此外冗余必然引起信息的不一致性,你還得解決不一致性帶來的問題,總之,冗余作為存儲(chǔ)本質(zhì)及其精髓而言,對(duì)人和計(jì)算機(jī)都非常關(guān)鍵!請(qǐng)注意,這里的冗余只是不必要的冗余,如俞敏洪的聯(lián)想記憶,就是這種非常愚蠢做法的明證。那么,該如何記憶呢?最好的方法莫過于降低冗余,改善存儲(chǔ)結(jié)構(gòu)。抽象與具體,歸納與演繹,分析與綜合,對(duì)比與類推,分類細(xì)化與拓沿一般,這是人的思維獨(dú)到之處,從自個(gè)思維模式著手,發(fā)現(xiàn)你最擅長的一面是什么?(比如本文作者相對(duì)比較擅長分析,抽象,類推三種),從你自身出發(fā),選擇適合你的方法。比如:詞根+詞綴記憶這個(gè)方法就是好的方法,首先,它降低了記憶的冗余;其次它采用二維存儲(chǔ)結(jié)構(gòu)比一維更便于記憶。
     我還想談一點(diǎn)我對(duì)考試的看法:知識(shí)是冗余的常識(shí),復(fù)習(xí)應(yīng)該是一個(gè)超集合,考試只是這個(gè)超集合的子集的冪集。
     對(duì)于數(shù)據(jù)結(jié)構(gòu)和算法,我認(rèn)為:
     數(shù)據(jù)結(jié)構(gòu)其實(shí)就是人的頭腦中的三種邏輯模式(先后關(guān)系[線],層次關(guān)系[樹],交互關(guān)系[圖])如何用計(jì)算機(jī)存儲(chǔ)模式(順序存儲(chǔ)[馮諾依曼機(jī)的特點(diǎn)]和鏈接存儲(chǔ)[間接尋址])來實(shí)現(xiàn),在此過程中需要考慮兩個(gè)問題:一,這種存儲(chǔ)如何和人頭腦的思維達(dá)到融合,方便人解決問題。二,數(shù)據(jù)存儲(chǔ)的目的和意義在于數(shù)據(jù)訪問,數(shù)據(jù)訪問決定數(shù)據(jù)存儲(chǔ),因此訪問效率和存儲(chǔ)效率必須折中取舍。
     至于,算法,其實(shí)是計(jì)算機(jī)解題模式,無非是存取,運(yùn)算,順序執(zhí)行,跳轉(zhuǎn),迭代和遞歸的有限步驟。
     我推薦17個(gè)算法,請(qǐng)注意,如果你熟悉這17算法的話,在考試中,就可以寫出相對(duì)較好的算法?荚囍械乃惴ǖ淖顑(yōu)解的復(fù)雜度是O(logn)級(jí),這些算法可以幫助你寫出O(n)或者O(nlogn)的解法。考試時(shí)間很關(guān)鍵,一般,你沒有過多的時(shí)間思考最優(yōu)解,你給出線性的算法就已經(jīng)足夠了 ,失之東隅,收之桑榆。
    算法如下:
    線形2個(gè):   
           1.將兩個(gè)有序表合并為一個(gè)表,這個(gè)算法的變種很多,可以是鏈表,順序表。涉及集合運(yùn)算,
              歸并排序,字符串處理。
           2.將一個(gè)順序表的元素重新劃分,左邊的較小,右邊較大。涉及快速排序,求字符串的逆串。
   樹形9個(gè): (注意:有些可以實(shí)現(xiàn),有些實(shí)現(xiàn)不了,可以拿來思考)
           3-5.前序線索化,遞歸實(shí)現(xiàn),棧模擬遞歸,非棧式迭代實(shí)現(xiàn)。
           6-8.中序線索化,遞歸實(shí)現(xiàn),棧模擬遞歸,非棧式迭代實(shí)現(xiàn)。
           8-11.后序線索化,遞歸實(shí)現(xiàn),棧模擬遞歸,非棧式迭代實(shí)現(xiàn)。
   圖形6個(gè): (注意:至少會(huì)畫表格,寫出算法執(zhí)行的逐個(gè)步驟)
           12:DFS
           13:BFS
           我強(qiáng)烈推薦大家做一些走迷宮的編程(Maze),DFS和BFS都可以實(shí)現(xiàn),好好比對(duì)一下。         
           14.MST:prim,kruskal
           15.short pathijkstra ,Floyd
           16.AOV:拓?fù)渑判虻腄FS,BFS實(shí)現(xiàn)
           17.AOE:關(guān)鍵路徑

回復(fù)話題
上傳/修改頭像

10能被5整除嗎?

考研論壇提示:
1、請(qǐng)勿發(fā)布個(gè)人聯(lián)系方式或詢問他人聯(lián)系方式,包括QQ和手機(jī)等。
2、未經(jīng)允許不得發(fā)布任何資料出售、招生中介等廣告信息。
3、如果發(fā)布了涉及以上內(nèi)容的話題或跟帖,您在考研網(wǎng)的注冊賬戶可能被禁用。

網(wǎng)站介紹 | 關(guān)于我們 | 聯(lián)系方式 | 廣告業(yè)務(wù) | 幫助信息
©1998-2015 ChinaKaoyan.com Network Studio. All Rights Reserved.

中國考研網(wǎng)-聯(lián)系地址:上海市郵政信箱088-014號(hào) 郵編:200092 Tel & Fax:021 - 5589 1949 滬ICP備12018245號(hào)