1樓:匿名使用者
資料結構是在整個電腦科學與技術領域上廣泛被使用的術語。它用來反映一個資料的內部構成,即一個資料由那些成分資料構成,以什麼方式構成,呈什麼結構。資料結構有邏輯上的資料結構和物理上的資料結構之分。
邏輯上的資料結構反映成分資料之間的邏輯關係,而物理上的資料結構反映成分資料在計算機內部的儲存安排。資料結構是資料存在的形式。 資料結構是資訊的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對資料結構中的資料進行某種操作。
資料結構課程的主要目的是介紹一些常用的資料結構,闡明資料結構內在的邏輯關係,討論它們在計算機中的儲存表示,並結合各種資料結構,討論對它們實行的各種運算的實現演算法。很多演算法實際上是對某種資料結構施行的一種變換,研究演算法也就是研究在實施變換過程中資料結構的動態性質。
你說有沒有用呢?
其實 一切只要學精了什麼都是不錯的`~~
學資料結構有什麼用?
2樓:
在許多型別的程式的設計中,資料結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。
許多時候,確定了資料結構後,演算法就容易得到了。有些時候事情也會反過來,我們根據特定演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。
選擇了資料結構,演算法也隨之確定,是資料而不是演算法是系統構造的關鍵因素。這種洞見導致了許多種軟體設計方法和程式設計語言的出現,物件導向的程式設計語言就是其中之一。
3樓:我又出來了
在視覺化化程式設計的今天,藉助於整合開發環境可以很快地生成程式,程式設計不再是計算機專業人員的專利。很多人認為,只要掌握幾種開發工具就可以成為程式設計高手,其實,這是一種誤解。要想成為一個專業的開發人員,至少需要以下三個條件:
能夠熟練地選擇和設計各種資料結構和演算法。
至少要能夠熟練地掌握一門程式設計語言。
熟知所涉及的相關應用領域的知識。
其中,後兩個條件比較容易實現,而第一個條件則需要花相當的時間和精力才能夠達到,它是區分一個程式設計人員水平高低的一個重要標誌,資料結構貫穿程式設 計的始終,缺乏資料結構和演算法的深厚功底,很難設計出高水平的具有專業水準的應用程式。曾經有一本經典計算機專業書籍叫做《資料結構+演算法=程式》,也說 明瞭資料結構和演算法的重要性。
《資料結構》是電腦科學與工程的基礎研究之一,掌握該領域的知識對於我們進一步進行高效率的計算機程式開發非常重要。無論在中國還是在美國,《資料結 構》一直是大學的計算機專業重要的專業基礎課。例如,在著名的美國的加州大學伯克利分校(著名的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++對於學習計算機系統結構有很大的好處。
資料結構這門課程學了有什麼用啊?
4樓:匿名使用者
我的個人理解,不知道你是不是同意。
資料結構這門課的重點並不在演算法,而是側重於資料的儲存以及在這個儲存結構上的查詢,演算法分析作為另外一門專門的課程被獨立出來。
我覺得其實用處並不是很大,僅僅是邏輯思想形成的基礎而已。
就像另外一門課《編譯原理》一樣,只是給了你一套思考的全新思路。
至於資料結構和語言的關係嘛,我覺得面嚮物件語言是最適合這門課的,尤其是java和c++,用c的話涉及到結構體、方便程度和可靠程度都比不上物件導向裡的類。
5樓:匿名使用者
為以後學習資料結構打基礎.屬於計算機專業的基礎理論課.
資料結構是計算機專業的重要基礎課程,也是該專業的核心課程之一,它是一門集技術性、理論性和實踐性於一體的課程。
介紹抽象資料型別和基本資料結構,闡述各種資料結構內在的邏輯關係,討論各種資料結構在計算機中的儲存表示,給出在各種資料結構上的基本運算及演算法實現。內容包括:資料結構概述、線性表、棧和佇列、串、多維數紐與廣義表、二叉樹與樹、圖、查詢表、內部排序、外部排序、檔案和資料結構程式設計方法。
書中使用類c語言作為演算法描述語言,且所有演算法都可以在任何一種c語言的開發環境中實現。
6樓:匿名使用者
資料結構是c語言的延伸,它告訴我們很多東西呢
學資料結構有什麼用
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樓:匿名使用者
連結串列的好處在於不用使用連續的記憶體,而是利用記憶體中分散的儲存單元儲存資料;而且連結串列的長度是可以任意增刪的,但陣列一旦申請就不能改變,這根本不能滿足資料的動態儲存;再加上陣列的刪除和插入元素會使大片的資料進行移動,這就增加了運算量;
好好學吧,剛開始我也覺得稀裡糊塗的,但考研不得不再看了幾遍,覺的資料結構的思想還是很好的,不說各種排序和圖、二叉樹的演算法設計,單單一個棧就是很深奧的,他可以將一些複雜難懂的遞迴演算法,拆解改寫,讓你對這些演算法一目瞭然。。。。自己好好體會吧
有些東西並不向你看到的那麼簡單。。。。
資料結構有什麼用呢
9樓:匿名使用者
有本書籍叫《資料結構+演算法=程式》可以參考下。
程式本身就是這兩者構成,什麼框架都是建立在這兩者之上,
現在的人大多是直接學c#,java,特別是c#,一上來什麼東西都給你封裝,
很多細節程式設計師是不會知道,什麼東西簡單一拖ok。
不過這些語言的什麼list啊,arraylist等等這些就是一種資料結構,
定義好這形形色色的資料你用起來不覺得更方便了嗎?
我的水平比較低,目前的理解是學習資料結構主要是學習演算法,演算法就是提高你
解決問題的能力,還有就是組織資料的思維方式方法。
我剛完成資料結構學習的第一階段,感覺還是挺有趣的,學到不少知識,最起碼
比winform的拖拖拉拉有趣多了。
10樓:匿名使用者
我記的有個經典的比喻:把程式設計比作做菜,資料結構就好比食材(菜),演算法就好比廚藝(做菜的技巧)。
11樓:追夢
建議你上網看看一個《程式設計之美》的書,裡面有很多是利用資料結構的思想來解題的。資料結構是基礎學科,是很通用的,就好像以後你要去公司,人家說要讓你用二分法查詢來程式設計,你總應該懂得別人說的是什麼意思吧。
學好資料結構有什麼實在的用處?
12樓:
有些演算法是支撐在高階資料結構上的
除了樓上說的
我們要快速的合併集合
查詢哪個元素在哪個集合中
就要用 並查集
我們要快速查詢改變中的
一列數中的一段的和
就要用樹狀陣列、線段樹
至於還有很多的題目要用二叉搜尋(排序)樹
如treap、splay、sbt等等
13樓:匿名使用者
你的問題令人很無語
學計算機語言沒有不學資料結構的
: 程式=資料結構+演算法
你現在主要是還沒有接觸到需要複雜資料結構的演算法例如:
1 輸入一串表示式: (1+3)*5-4+(3-5)*2輸出它的結果
這個程式就要用到棧的資料結構
2 中國象棋棋盤上
(x1,y1)位置上放著一隻馬
請問它走到(x2,y2)最少要走幾步
這個程式就要用到佇列的資料結構
3 給你平面內n個點的座標
用n-1條線段把這n個點連起來
線段總長度最小是多少
這個程式就需要圖的資料結構
記住這句經典的話:
程式=資料結構+演算法
資料結構學是什麼,資料結構主要學什麼內容
佇列 陣列 圖等結構的表示方式 資料結構主要學什麼內容 一 線性表 一 線性表的定義和基本操作 二 線性表的實現 1.順序儲存結構 2.鏈式儲存結構 3.線性表的應用 二 棧 佇列和陣列 一 棧和佇列的基本概念 二 棧和佇列的順序儲存結構 三 棧和佇列的鏈式儲存結構 四 棧和佇列的應用 五 特殊矩陣...
如何學習資料結構,資料結構該怎麼學啊?
資料結構從文字上面來看,為資料和結構兩部分。這樣就很容易聯絡到數專據結構的本質是屬一種對於資料結構花的知識。補充一個知識點,資料結構本質和離散數學有很密切的關係。離散數學是處理的是離散 非連續的 的資料,站在資料結構的觀點上來看,也可以理解是一種非連續資料的結構。資料結構該怎麼學啊?資料結構學好並不...
資料結構中,什麼時候用,資料結構中,什麼時候用
這個是取bai地址的作du 用。一般定義一個普通變數,zhi若要dao將其在指標中呼叫就專要用 如int a 要將屬a在函式void hanshu int t 中呼叫的話,那麼就應該寫成hanshu a 另外在鍵盤輸入資料的時候也要用到,比如scanf d a 這個符號,主要用在這兩個地方。在資料結...