数据结构与算法的联系
生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法的联系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,數據結構是一門計算機語言學的基礎學科,它不屬于任何一門語言,其體現的是幾乎所有標準語言的算法的思想。
上面的概念有一些模糊,我們現在來具體說一說,相信你門的數據結構使用的是一門具體的語言比如C/C++語言來說明,那是為了輔助的學習數據結構,而數據結構本身不屬于任何語言(相信你把書上的程序敲到電腦里面是不能通過的吧,其只是描述了過程,要調試程序,還需要修改和增加一些東西)。你們的書上開始應該在講究數據的物理存儲結構/邏輯存儲結構等概念,說明數據結構首先就是“數據的結構”,在內存上的存儲方式,就是物理的存儲結構,在程序使用人員的思想上它是邏輯的,比如:
你們在C/C++中學習到鏈表,那么鏈表是什么一個概念,你們使用指針制向下一個結點的首地址,讓他們串聯起來,形成一個接一個的結點,就像顯示生活中的火車一樣。而這只是對于程序員的概念,但是在內存中存儲的方式是怎樣的那?對于你程序員來說這是“透明”的,其內部分配空間在那里,都是隨機的,而內存中也沒有一個又一根的線將他們串聯起來,所以,這是一個物理與邏輯的概念,對于我們程序員只需要知道這些就可以了,而我們主要要研究的是“邏輯結構”。
我可以給你一個我自己總結的一個概念:所有的算法必須基于數據結構生存。也就是說,我們對于任何算法的編寫,必須依賴一個已經存在的數據結構來對它進行操作,數據結構成為算法的操作對象,這也是為什么算法和數據結構兩門分類不分家的概念,算法在沒有數據結構的情況下,沒有任何存在的意義;而數據結構沒有算法就等于是一個尸體而沒有靈魂。估計這個對于算法的初學者可能有點暈,我們在具體的說一些東西吧:
總結
以上是生活随笔為你收集整理的数据结构与算法的联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: osg学习笔记(一)
- 下一篇: Cloudera-Manager 与