什麼事資料結構,有什麼用啊

時間 2021-08-14 22:24:07

1樓:手機使用者

聯絡而演算法是對資料的處理

資料結構對演算法來講是非常重要的

有個科學家曾說過:

程式=資料結構+演算法

一般乙個演算法會對應到某一種資料結構

比如遞迴演算法對應到棧

廣度搜尋對應到佇列

學習一種資料結構時

應先找到其相應的演算法

然後通過理解演算法來學習資料結構

這樣才能更好的掌握

否則會有一種,學了都不知道有什麼用的感覺

2樓:匿名使用者

一樓說的不妥,資料結構絕不是c++的翻版。

我就用大白話說吧,資料結構就是決定以什麼方式把大量資料塞到計算機記憶體中。

假如你要做乙個學生管理系統,有n個學生。那麼我們需要把n個學生的資料存到記憶體中。

最簡單的方式是順序,就是乙個挨著乙個儲存,c語言中叫做陣列。

來考慮一些效能指標,如果我要加入乙個學生,只需要在陣列最後新增資料即可,時間為固定值。如果我要按照學號來找到乙個學生,我需要在記憶體中乙個個掃瞄,時間與n成正比。當n比較大時,這個效率就很低了。

很容易想到,我們可以把學生按照學號排序,這時資料結構就有變化了。使用二分法,這樣搜尋的時候就只要與logn成正比的時間。

問題又出現了,當我們要加新的學生時,如果新增的是第乙個的話,由於需要在記憶體中把每個其他學生的資料向後移一位,所以時間與n成正比,這對於乙個要頻繁新增新學生的系統來說,效率又太低了。

其實有很好的結構叫做二叉樹可以解決這個問題。

還有乙個問題,對於不確定數量的資料該怎麼組織,使用者可能隨時新增。由於事先不知道數量,不能宣告乙個很大的陣列或記憶體空間,這太浪費了。這時候可以使用鍊表的結構,也就是說用多少申請多少記憶體空間,每個資料之間建立乙個指向下乙個的指標。

所以資料結構就是要使用最合適的結構來組織資料,做到又快又省記憶體。

3樓:匿名使用者

如果你是計算機系的,學的是軟體就會在大三上學期學到,如果學的是電腦科學與技術的就會在大二上學期學到。這門課程就是c語言和c++的翻版,但是比它們要難好多,要是把它學好了,就算c/c++還沒學精通也沒關係。資料結構:

按一定邏輯關係組織起來的資料元素、按一定的方式存入計算機、並對其施加了一些運算的描述。

當時我學這門課的時候,由於本人生病的原因沒學精通。希望你把握機會好好學這門課。

什麼是資料結構和演算法,資料結構和演算法有什麼關係?資料結構就是演算法嗎?

程式 資料結構 演算法 資料結構是相互之間存在的一種或多種特定關係的資料元素的集合。包括4類基本的結構 集合 線形結構 樹形結構 圖狀或網狀結構。通俗點就是資料的邏輯結構,比方說這些資料在記憶體中以什麼樣的結構存放。演算法實際是程式設計過程中完成一件事採用的方法,比方說現實生活中做數學題時兩個人都將...

資料結構C語言,資料結構和C語言有什麼區別?

typedef struct qnode qnode,queueptr 定義兩個新資料型別qnode,queueptr,相當於 typedef struct qnode qnode typedef struct qnode queueptr 使用方法 qnode qdata struct qnode...

柵格資料結構和向量資料結構相比較各有什麼特點

安迪 久別 理實體的空間分佈的一種資料組合方式。向量與柵格資料結構的比較 向量資料結構的優缺點 優點為資料結構緊湊 冗餘度低,有利於網路和檢索分析,圖形顯示 精度高 缺點為資料結構複雜,多邊形疊加分析比較困難。具體來說優點有 1.表達地理資料精度高 2.嚴密的資料結構,資料量小 3.用網格連結法能完...