在計算機發展的初期,人們使用計算機的目的主要是處理數值計算問題。當我們使用計算機來解決乙個具體問題時,一般需要經過下列幾個步驟:首先要從該具體問題抽象出乙個適當的數學模型,然後設計或選擇乙個解此數學模型的演算法,最後編出程式進行除錯、測試,直至得到最終的解答。例如,求解梁架結構中應力的數學模型的線性方程組,可以使用迭代演算法來求解。
由於當時所涉及的運算物件是簡單的整型、實型或布林型別資料,所以程式設計者的主要精力是集中於程式設計的技巧上,而無須重視資料結構。隨著計算機應用領域的擴大和軟、硬體的發展,非數值計算問題越來越顯得重要。據統計,當今處理非數值計算性問題占用了85%以上的機器時間。這類問題涉及到的資料結構更為複雜,資料元素之間的相互關係一般無法用數學方程式加以描述。因此,解決這類問題的關鍵不再是數學分析和計算方法,而是要設計出合適的資料結構,才能有效地解決問題。
現如今,計算機專業本科生都開設資料結構課程(1) 學習資料有效儲存的方法
很多學生在學習資料結構時,問我要不要把單鏈表插入刪除背下來?要不合上書就不會寫了。我非常詫異,為什麼要背?理工科技術知識很少需要記憶的,是用的,用的!學習知識不是死記硬背,更重要的是學習處理問題的方法。同乙個問題,如何有效地儲存資料,不同的資料結構產生什麼樣的演算法複雜性,有沒有更好的儲存方法提高演算法的效率?通過學習資料結構,更加準確和深刻地理解不同資料結構之間的共性和聯絡,學會選擇和改進資料結構,高效地設計並實現各種演算法,這才是資料結構的精髓。
(2) 處理具有複雜關係的資料
現實中很多具有複雜關係的資料,無法通過簡單的庫函式呼叫實現。如同現在很多晶元高度整合,完全不需要晶元內部如何,直接使用就行了。但是,如果在現實中遇到乙個複雜問題,乙個晶元只能完成其中乙個功能,難道要連線十幾塊晶元來解決這乙個問題?這顯然是不合適的,我們需要的是完成該複雜問題的乙個晶元,因此需要運用所學的資料結構知識,高效處理具有複雜關係的資料。
資料結構是電腦科學與技術專業、計算機資訊管理與應用專業,電子商務等專業的基礎課,是十分重要的核心課程。所有的計算機系統軟體和應用軟體都要用到各種型別的資料結構。因此,要想更好地運用計算機來解決實際問題,僅掌握幾種計算機程式語言是難以應付當前眾多複雜的課題。要想有效地使用計算機、充分發揮計算機的效能,還必須學習和掌握好資料結構的有關知識。打好「資料結構」這門課程的紮實基礎,對於學習計算機專業的其他課程,如作業系統、資料庫管理系統、軟體工程、編譯原理、人工智慧、圖視學等都是十分有益的。
學習資料結構的目的是為了了解計算機處理物件的特性,將實際問題中所涉及的處理物件在計算機中表示出來並對它們進行處理。與此同時,通過演算法訓練來提高學生的思維能力,通過程式設計的技能訓練來促進學生的綜合應用能力和專業素質的提高。
為什麼要學習資料結構
目錄 1 什麼是資料結構?2 為什麼我們要學習資料結構?3 常見的資料他的結構有8種 資料結構是以某種特定的布局方式儲存資料的容器。這種布局方式決定了資料結構對於某些操作是高效的,而對於其他操作則是低效的。所以我們需要理解各種資料結構,才能處理實際問題時選取最合適的資料結構。資料是電腦科學當中最關鍵...
為什麼要學資料結構?
文章目錄 四 資料結構型別 在視覺化化程式設計的今天,借助於整合開發環境可以很快地生成程式,程式設計不再是計算機專業人員的專利。很多人認為,只要掌握幾種開發工具就可以成為程式設計高手,其實,這是一種誤解。要想成為乙個專業的開發人員,至少需要以下三個條件 1 能夠熟練地選擇和設計各種資料結構和演算法 ...
為什麼要學習資料結構和演算法?
資料結構,就是一組資料的儲存結構。演算法,就是運算元據的一組方法。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。應用層面的原因 在電腦科學和網際網路迅猛發展下,需要計算的資料量越來越龐大。但是計算機的計算能力是有限的,這麼大量的資料計算,需要越來越多的計算機,需要越來越長的計算時間,注...