1樓:
有些演算法是支撐在高階資料結構上的
除了樓上說的
我們要快速的合併集合
查詢哪個元素在哪個集合中
就要用 並查集
我們要快速查詢改變中的
一列數中的一段的和
就要用樹狀陣列、線段樹
至於還有很多的題目要用二叉搜尋(排序)樹
如treap、splay、sbt等等
2樓:匿名使用者
你的問題令人很無語
學計算機語言沒有不學資料結構的
: 程式=資料結構+演算法
你現在主要是還沒有接觸到需要複雜資料結構的演算法例如:
1 輸入一串表示式: (1+3)*5-4+(3-5)*2輸出它的結果
這個程式就要用到棧的資料結構
2 中國象棋棋盤上
(x1,y1)位置上放著一隻馬
請問它走到(x2,y2)最少要走幾步
這個程式就要用到佇列的資料結構
3 給你平面內n個點的座標
用n-1條線段把這n個點連起來
線段總長度最小是多少
這個程式就需要圖的資料結構
記住這句經典的話:
程式=資料結構+演算法
學資料結構有什麼用?
3樓:
在許多型別的程式的設計中,資料結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。
許多時候,確定了資料結構後,演算法就容易得到了。有些時候事情也會反過來,我們根據特定演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。
選擇了資料結構,演算法也隨之確定,是資料而不是演算法是系統構造的關鍵因素。這種洞見導致了許多種軟體設計方法和程式設計語言的出現,物件導向的程式設計語言就是其中之一。
4樓:我又出來了
在視覺化化程式設計的今天,藉助於整合開發環境可以很快地生成程式,程式設計不再是計算機專業人員的專利。很多人認為,只要掌握幾種開發工具就可以成為程式設計高手,其實,這是一種誤解。要想成為一個專業的開發人員,至少需要以下三個條件:
能夠熟練地選擇和設計各種資料結構和演算法。
至少要能夠熟練地掌握一門程式設計語言。
熟知所涉及的相關應用領域的知識。
其中,後兩個條件比較容易實現,而第一個條件則需要花相當的時間和精力才能夠達到,它是區分一個程式設計人員水平高低的一個重要標誌,資料結構貫穿程式設 計的始終,缺乏資料結構和演算法的深厚功底,很難設計出高水平的具有專業水準的應用程式。曾經有一本經典計算機專業書籍叫做《資料結構+演算法=程式》,也說 明瞭資料結構和演算法的重要性。
《資料結構》是電腦科學與工程的基礎研究之一,掌握該領域的知識對於我們進一步進行高效率的計算機程式開發非常重要。無論在中國還是在美國,《資料結 構》一直是大學的計算機專業重要的專業基礎課。例如,在著名的美國的加州大學伯克利分校(著名的bsd unix的發源地,很多unix作業系統由它派生而來或帶有它的痕跡——例如freebsd、sun公司的solaris、ibm的aix),就用一個學 期開設《資料結構和演算法》課程(在這之前,用一個學期開設《c++程式設計》課程)。
作為計算機專業的學生,在學完c/c++以後,關鍵的問題是怎樣熟練地應用和鞏固。其實《資料結構》並不難。 在學習《資料結構》之前,要求學生有c/c++基礎。
可以這樣說,c/c++是其他程式設計語言的基礎。掌握了c/c++,學習其他語言就會易如反掌。例 如,微軟的mfc類庫基於c++;atl基於c++中的模板類;java語言基於c++思想,其程式設計風格與c++差別很小;c++ builder又是基於c++;delphi中的有關物件的概念與c++中的物件幾乎完全一致。
c++相比其他語言具有與計算機硬體集合緊密、**效率 高,這是java語言和其他高階語言所無法比擬的。這樣,c/c++對於學習計算機系統結構有很大的好處。
資料結構學了有什麼用?
5樓:匿名使用者
資料結構是在整個電腦科學與技術領域上廣泛被使用的術語。它用來反映一個資料的內部構成,即一個資料由那些成分資料構成,以什麼方式構成,呈什麼結構。資料結構有邏輯上的資料結構和物理上的資料結構之分。
邏輯上的資料結構反映成分資料之間的邏輯關係,而物理上的資料結構反映成分資料在計算機內部的儲存安排。資料結構是資料存在的形式。 資料結構是資訊的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對資料結構中的資料進行某種操作。
資料結構課程的主要目的是介紹一些常用的資料結構,闡明資料結構內在的邏輯關係,討論它們在計算機中的儲存表示,並結合各種資料結構,討論對它們實行的各種運算的實現演算法。很多演算法實際上是對某種資料結構施行的一種變換,研究演算法也就是研究在實施變換過程中資料結構的動態性質。
你說有沒有用呢?
其實 一切只要學精了什麼都是不錯的`~~
學習資料結構有什麼用
6樓:匿名使用者
連結串列的好處在於不用使用連續的記憶體,而是利用記憶體中分散的儲存單元儲存資料;而且連結串列的長度是可以任意增刪的,但陣列一旦申請就不能改變,這根本不能滿足資料的動態儲存;再加上陣列的刪除和插入元素會使大片的資料進行移動,這就增加了運算量;
好好學吧,剛開始我也覺得稀裡糊塗的,但考研不得不再看了幾遍,覺的資料結構的思想還是很好的,不說各種排序和圖、二叉樹的演算法設計,單單一個棧就是很深奧的,他可以將一些複雜難懂的遞迴演算法,拆解改寫,讓你對這些演算法一目瞭然。。。。自己好好體會吧
有些東西並不向你看到的那麼簡單。。。。
學資料結構有什麼用
7樓:大愛研子
在視覺化化程式設計的今天,藉助於整合開發環境可以很快地生成程式,程式設計不再是計
算機專業人員的專利。很多人認為,只要掌握幾種開發工具就可以成為程式設計高手,其實,這
是一種誤解。要想成為一個專業的開發人員,至少需要以下三個條件:
能夠熟練地選擇和設計各種資料結構和演算法。
至少要能夠熟練地掌握一門程式設計語言。
熟知所涉及的相關應用領域的知識。
其中,後兩個條件比較容易實現,而第一個條件則需要花相當的時間和精力才能夠達到,
它是區分一個程式設計人員水平高低的一個重要標誌,資料結構貫穿程式設 計的始終,缺乏
資料結構和演算法的深厚功底,很難設計出高水平的具有專業水準的應用程式。曾經有一本經
典計算機專業書籍叫做《資料結構+演算法=程式》,也說 明瞭資料結構和演算法的重要性。
《資料結構》是電腦科學與工程的基礎研究之一,掌握該領域的知識對於我們進一步
進行高效率的計算機程式開發非常重要。無論在中國還是在美國,《資料結 構》一直是大學
的計算機專業重要的專業基礎課。例如,在著名的美國的加州大學伯克利分校(著名的 bsd
unix 的發源地,很多unix 作業系統由它派生而來或帶有它的痕跡——例如freebsd、sun 公
司的solaris、ibm 的aix),就用一個學 期開設《資料結構和演算法》課程(在這之前,用一
個學期開設《c++程式設計》課程)。
實《資料結構》並不難。 在學習《資料結構》之前,要求學生有 c/c++基礎。可以這樣說,
c/c++是其他程式設計語言的基礎。掌握了 c/c++,學習其他語言就會易如反掌。例 如,微
軟的mfc 類庫基於c++;atl 基於c++中的模板類;java 語言基於c++思想,其程式設計風格與c++
差別很小;c++ builder 又是基於c++;delphi 中的有關物件的概念與c++中的物件幾乎完全
一致。c++相比其他語言具有與計算機硬體集合緊密、**效率 高,這是java 語言和其他高
級語言所無法比擬的。這樣,c/c++對於學習計算機系統結構有很大的好處。
資料結構是對非數值型資料的處理
學了以後你就會對各種型別的資料的處理有了一個大概的掌握
比如我們的千千靜軟體它其實就是處理線性表資料
資料結構有什麼用呢
8樓:匿名使用者
有本書籍叫《資料結構+演算法=程式》可以參考下。
程式本身就是這兩者構成,什麼框架都是建立在這兩者之上,
現在的人大多是直接學c#,java,特別是c#,一上來什麼東西都給你封裝,
很多細節程式設計師是不會知道,什麼東西簡單一拖ok。
不過這些語言的什麼list啊,arraylist等等這些就是一種資料結構,
定義好這形形色色的資料你用起來不覺得更方便了嗎?
我的水平比較低,目前的理解是學習資料結構主要是學習演算法,演算法就是提高你
解決問題的能力,還有就是組織資料的思維方式方法。
我剛完成資料結構學習的第一階段,感覺還是挺有趣的,學到不少知識,最起碼
比winform的拖拖拉拉有趣多了。
9樓:匿名使用者
我記的有個經典的比喻:把程式設計比作做菜,資料結構就好比食材(菜),演算法就好比廚藝(做菜的技巧)。
10樓:追夢
建議你上網看看一個《程式設計之美》的書,裡面有很多是利用資料結構的思想來解題的。資料結構是基礎學科,是很通用的,就好像以後你要去公司,人家說要讓你用二分法查詢來程式設計,你總應該懂得別人說的是什麼意思吧。
資料結構這門課程學了有什麼用啊?
11樓:中朝伌
1,資料結構到底在程式中充當什麼角色,(如果說c語言是用來寫程式的,資料結構呢???)?? 有資料,和組織資料的資料結構,程式的行為邏輯才可以確定,程式才可能有實際意義。
資料結構是寫程式的基礎。一定要打好基礎。當然也可以在實踐中穩固基礎。
2,資料結構中的 那些那些樹,網什麼的 這樣有什麼用呢??在程式中有什麼作用呢! 各種資料抽象只是資料的不同組織形式,一切都為了方便程式訪問資料和提高程式效能而使用。
各種結構之所以這樣定義,就是為了通過以不同方法組織資料來改善、來提高程式效能和資料訪問速度。 在程式中,定義沒有實際價值,真正有價值是那種組織思想和操作方法;但如果沒有定義,就不會有這樣的物件(實際可以是變數、常量等實實在在的資料操作客體),所以最少也得要知道這些結構(起碼是名字;p)。 3,還有就是怎麼樣才能學好資料結構呢!
(c語言版的資料結構,是不是一定要有堅實的c語言功底呢?)??? 資料結構其實就是組織資料的思想和方法,同樣的資料結構,在不同語言上的應用,其實都是大同小異的。
資料結構不依賴於語言,不過學習使用它,就要選擇一種語言。學習資料結構是可以和學習語言並行進行的,基本瞭解了一點語言的邏輯,來應用在資料結構上,可以達到互相輔助學習的效果。
學好程式設計是不是要學好資料結構和資料庫?還有其他的嗎
1044972638交個朋友,我告訴你 當然有啊,最好的就是學好數學,數學不僅能給你在程式設計的時候帶來很多思路,更能鍛鍊你的邏輯思維能力,要做好程式設計邏輯思維是不能少的。個人覺得學程式設計的話,資料庫一定要學好,資料結構在實際應用中其實還不是那麼重要!資料結構,演算法,資料庫都是幹嘛的?是不是想...
學習資料結構有什麼用,資料結構學習些什麼內容,學習資料結構有什麼意義,有哪些運用
資料結構 是計算機專業的一門必修課,可是很多學生學完以後,覺得專用處不大,還不 資料結構學習些什麼內容,學習資料結構有什麼意義,有哪些運用 資料結構學習的內容可以去。作為一個已經進入公司程式設計師,我來告訴你學習資料結構有什麼用。資料結構是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多...
資料結構中的是什麼意思,資料結構中和的區別是什麼
sqstack s是一個引用 的固定用法,而不是取地址,例如,int a int b a 這就表明了b是版a的 引用 即a的別名。經過權這樣的宣告,使用a或b的作用相同,都代表同一變數。去掉 也不會怎麼樣,只是申明瞭一個sqstack s的變數而已 列印中的格式符,表示輸出一個縮排tab 希望能解決...