程式和資料結構有什麼關係,什麼是資料結構?什麼是演算法?演算法與程式有什麼關係?

2021-08-14 22:29:55 字數 5234 閱讀 1739

1樓:匿名使用者

有一個定理樓主聽說過嗎,程式=資料結構+演算法

資料結構就是告訴你資料是一和形式儲存的,集合,線性表,樹,還是圖或網。

你要學好資料結構,才知道遇到什麼問題用什麼方法解決,才能編出好的程式。

下面是官方的說法:

選擇了資料結構,演算法也隨之確定,是資料而不是演算法是系統構造的關鍵因素。這種洞見導致了許多種軟體設計方法和程式設計語言的出現,物件導向的程式設計語言就是其中之一。

一般認為,一個資料結構是由資料元素依據某種邏輯聯絡組織起來的。對資料元素間邏輯關係的描述稱為資料的邏輯結構;資料必須在計算機記憶體儲,資料的儲存結構是資料結構的實現形式,是其在計算機內的表示;此外討論一個資料結構必須同時討論在該類資料上執行的運算才有意義。

在許多型別的程式的設計中,資料結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。許多時候,確定了資料結構後,演算法就容易得到了。

有些時候事情也會反過來,我們根據特定演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。

2樓:匿名使用者

程式=資料結構+演算法 也就是說是必要組成部分~

什麼是資料結構?什麼是演算法?演算法與程式有什麼關係?

3樓:匿名使用者

資料結構與演算法屬於開發人員的基本內功,也能訓練大腦的思考能力,掌握一次,終生受益。紮實的資料結構與演算法功底,能讓我們站在更高的角度去思考**、寫出效能更優的程式,能讓我們更快速地學習上手各種新技術(比如人工智慧、區塊鏈等),也能讓我們敲開更高階程式設計領域的大門。

資料結構與演算法更是各大名企面試題中的常客,如果不想被行業拋棄、想進入更大的名企、在it道路上走得更遠,掌握資料結構與演算法是非常有必要。

4樓:匿名使用者

資料結構就是

復計算機儲存、組織制資料的方式,它是人們為了實現各種各樣的演算法和程式而設計出來的,具有一定性質或規律。比如棧可以用來實現遞迴演算法的非遞迴化,圖可以用來處理網路問題。

演算法你可以理解為用程式解決實際問題的方法。比如排序演算法,查詢演算法。

程式就是基於某種或某幾種資料結構,採用某種演算法或某幾種演算法去解決問題的過程。

5樓:匿名使用者

資料結構是相互之間存在一種或多種特定關係的資料元素的集合。

演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。

程式是演算法的實現語言。

6樓:白懷彬

相互之間存在一種或多種特定關係的資料元素的集合。(起始關於什麼是資料結構,並沒有嚴格的定義)

演算法是對特定問題求解步驟的一般描述,是有限指令的集合。

程式=演算法+資料結構(c語言)

資料結構與程式的關係 詳細點 20

7樓:匿名使用者

資料庫是一種應用軟體,用來存放各種資料的。

資料結構是計算機儲存、組織資料的方式。

資料庫是程式寫出來的,而程式=資料結構+演算法。

不知道能不能明白,簡單的說資料結構是計算機的根本基礎,因為計算機就是用來處理各種資料的,在計算機的世界裡,所有的東東都叫資料,而資料結構正是用來表示計算機儲存、組織資料的方式。

下面是官方的說法:

選擇了資料結構,演算法也隨之確定,是資料而不是演算法是系統構造的關鍵因素。這種洞見導致了許多種軟體設計方法和程式設計語言的出現,物件導向的程式設計語言就是其中之一。

一般認為,一個資料結構是由資料元素依據某種邏輯聯絡組織起來的。對資料元素間邏輯關係的描述稱為資料的邏輯結構;資料必須在計算機記憶體儲,資料的儲存結構是資料結構的實現形式,是其在計算機內的表示;此外討論一個資料結構必須同時討論在該類資料上執行的運算才有意義。

在許多型別的程式的設計中,資料結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。許多時候,確定了資料結構後,演算法就容易得到了。

有些時候事情也會反過來,我們根據特定演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。

8樓:瑞表迷

資料結構與程式的關係

資料結構:為一個演算法了!程式就是使用者用演算法處理的問題總彙!

9樓:匿名使用者

程式=資料結構+演算法

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

10樓:天涯虧科

著名資料專家沃斯曾說:演算法+資料結構=程式

11樓:_了卻了

它們可以相互區別也可以相互統一。廣義上講,演算法是某一系列運算步 驟,它表達解決某一類計算問題的一般方法,對這類方法的任何一個輸入,它可以按步驟一步一步計算,最終產生一個輸出。但是對於所有的計算問題,都離不開要 計算的物件或者要處理的資訊,而如何高效的把它們組織起來,就是資料結構關心的問題,所以演算法是離不開資料結構的。

單講資料結構,它指資料的組織結構,它 有邏輯結構和物理結構,另外還包括一些定義在某種資料結構上的演算法,它只限於某一特定資料結構中使用,可以認為它是資料結構的組成部分,比如棧的壓棧操 作,這些演算法雖小但很重要,可以看成是它們決定了資料結構的外部特性,比如同樣是堆,有二叉堆,二項式堆,它們除了內部結構的不同,最大的還是外部操作的 演算法效能不同,也決定了它們本質上的不同,如果外部效能一樣,那研究將是毫無意義的。總之,不能脫離演算法討論資料結構,也不能脫離資料結構研究演算法。

12樓:匿名使用者

資料結構是資料間的有機

關係,演算法是對資料的操作步驟。這兩個概念間的邏輯關係貫穿了整個程式世界,首先二者表現為不可分割的關係。沒有資料間的有機關係,程式根本無法設計,例如,設計a+b的程式,你總得找到a和b的值吧,a和b必須是可以互相找到的才能進行程式運算,a和b就必然要聯結成一定的關係,或是線性關係,或是樹型關係,或者是圖型關係,你的程式才能產生,雜亂無章的資料-------就是沒有資料結構的資料,是沒有演算法的,你試試做一個電子運動的時間和座標對應的演算法看看行不行,顯然不行。

因為有了資料結構,演算法才能誕生。反過來,演算法又是資料結構得以維持的一個條件,沒有演算法,資料根本無法有規律的打交道,也就是說資料的間只會是雜亂無章地碰撞,這樣資料結構就會消滅。演算法是絕對運動的,資料結構是相對靜止的,二者是不可分割的關係。

資料結構和演算法不僅僅是計算機中才有的,計算機是後來誕生的東西,計算機的概念**於自然界,自然界中例如一棵樹的根和樹葉之間的資訊交流就是一個演算法,是建立在根資料和樹葉資料之間可以相通的關係上的演算法,計算機只是自然界的一個模擬,程式語言不是程式的一個要素,因為自然界是沒有語言的,但是有程式,這是唯物主義的觀點。

演算法是活潑的,資料結構是遲鈍的,演算法的發展要求資料結構跟著發展,否則就會阻礙演算法的發展,演算法的發展或遲或早必然衝破資料結構的束縛,二者必然將建立在一個新的起點繼續著矛盾運動,

資料結構是相對靜止的,演算法是絕對運動的,這二者首先表現為不可分割的關係。沒有一定組織關係的資料,演算法就無法產生,你不可能對一堆雜亂無章的資料編寫演算法,你要想對資料進行操作,必須能夠找到資料,這樣就必須將它們按照一定規律組織起來-----這個過程不一定是演算法,但是演算法可以實現這個過程,資料結構是演算法得以誕生的條件-----否則就是資料間的雜亂無章的運動,但是運動並不是演算法。反過來演算法是資料結構得以維持的條件,沒有了演算法對資料進行操作,資料就不會有規律地進行互動,資料結構也就隨之消滅。

客觀世界是物質的,物質是運動的,運動是有規律的,有規律的運動就是程式,客觀世界是存在程式的,所以不用擔心沒有演算法世界會怎麼樣,如果沒有規律的運動,就不會有人。

演算法的革命的、活潑的,資料結構是反動的、遲鈍的,演算法的發展必然推動資料結構的發展,簡單的資料結構不可能適應複雜的演算法,只有提供多種複合的資料結構才能為複雜的演算法提供新的空間,演算法的發展必然會衝破資料結構的束縛-----不過不要忘記了這種物的規律是由人來實現的。

13樓:碼寶寶呀

首先你要弄清楚資料結構是什麼?資料結構呢其實就是一種儲存資料之間的邏輯結構:比如我們學過的線性結構:

順序表啦,連結串列啦;層次結構:樹啦。合適的資料結構可以帶來更高的執行效率和儲存效率,與相應解決實際問題演算法的適應性也就越高,這也就是為什麼一些演算法指定了資料儲存必須以某種特定的資料結才行。

一般都是根據合適的資料結構來設計演算法,而不是根據演算法來設計資料結構。

演算法和資料結構往往是互不分開的。離開了演算法,資料結構就顯得毫無意義,而沒有了資料結構演算法就沒有實現的條件。良好的資料結構思想就是一種高效的演算法,但是資料結構不等於演算法。

只有當資料結構用於處理某個特定問題型別的時候,資料結構才會體現為演算法。要想細緻的瞭解,就要多看書,因為這東西畢竟發展了那麼多年,一兩句話是說不清楚的。想知道更多的資料結構與演算法知識嗎?

可以去了解一下小碼哥李明傑。

14樓:匿名使用者

演算法+資料結構=程式,資料結構,內容包括數陣列、連結串列、堆疊、佇列等。

一個優秀的軟體開發師需要資料結構可以很高效的處理複雜的問題。 因為移動網際網路本身就決定了資料的重要程度。 所以資料結構演算法真的很重要, 尤其是搞大資料處理的時候。

資料結構與演算法它們可以相互區別也可以相互統一。資料結構是資料間的有機關係,演算法是對資料的操作步驟。

15樓:安徽新華電腦專修學院

資料結構是按照邏輯關係組織起來的一批資料,按期儲存結構把他儲存在計算機中,並在這些資料上定義一個運算的集合。(簡單說就是先在稿紙上畫出這個資料怎麼組織起來,這是邏輯關係,然後在計算機中怎麼儲存,是按順序存,還是加個指標索引的存,這是儲存結構,最後還要定義一些運算,就是這個資料能完成那些操作)

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

16樓:口框口

資料結構是資料及資料之間的關係,c語言只是一門程式語言,可以用

回c語言來寫程式,實現答資料按照某種特定的關係來組織和管理資料(也就是實現資料結構),所以資料結構的課程會有不同的語言版本,其實就是用不同的語言來實現資料結構了。呵呵,不知道你明白沒有呢~~

17樓:匿名使用者

資料結構是c語言的更高層次的應用

18樓:示申僉

資料結構是復計算機存制儲、組織資料的bai方式。資料結構是du指相互之間存在一種或多zhi種特定關係的數dao據元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。

資料結構往往同高效的檢索演算法和索引技術有關。

而c語言是一門高階程式語言,他可以以某些資料結構來處理資料,提高資料的處理速度。

資料庫和資料結構有什麼區別哦

資料庫是一個資料集合,顧名思義,庫就是一個儲存地方嘛,即存放大量資料的地方,而往資料庫裡放資料或者訪問資料庫裡的資料的方式就是資料結構的內容了。資料庫相當於一個容器,資料結構相當於你往容器裡放東西的方式和取東西的方式,如果沒有資料結構,那麼容器裡的東西 資料 就會雜亂無章,以後取出來也麻煩。兩個理念...

在C語言和資料結構裡代表什麼,資料結構和C語言有什麼區別

是指向運算子.假設baik為一個du結zhi 構體dao變數,p為一個指向結構體的指標,num是它的一個成回員。答p k,則以下三式等價,都表示k的成員num的值 k.num p num p num這種形式在連結串列中很常見。指標是c語言難點,而連結串列也不易學,建議你找本輔導書研究一下。l是結構體...

什麼是資料結構?什麼是演算法?演算法與程式有什麼關係

資料結構與演算法屬於開發人員的基本內功,也能訓練大腦的思考能力,掌握一次,終生受益。紮實的資料結構與演算法功底,能讓我們站在更高的角度去思考 寫出效能更優的程式,能讓我們更快速地學習上手各種新技術 比如人工智慧 區塊鏈等 也能讓我們敲開更高階程式設計領域的大門。資料結構與演算法更是各大名企面試題中的...