亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教一下關于什么是數據結構和算法分析?在編程里起到什么作用?

請教一下關于什么是數據結構和算法分析?在編程里起到什么作用?

猛跑小豬 2019-11-19 17:13:06
什么是數據結構和算法分析?在編程里起到什么作用?
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

什么是數據結構和算法?

數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。簡單來說,數據結構就是設計數據以何種方式組織并存儲在計算機中,算法就是操作數據的方法。

數據結構和算法是相輔相成的。數據結構是為算法服務的,算法要作用在特定的數據結構之上。 因此,我們無法孤立數據結構來講算法,也無法孤立算法來講數據結構。數據結構是靜態的,它只是組織數據的一種方式。如果不在它的基礎上操作、構建算法,孤立存在的數據結構就是沒用的。

在編程中的作用?

剛開始學習編程時有一種誤解,會編程就行,研究什么數據結構???數據結構與算法能夠幫你如何快速把現實問題轉化為計算機語言。到底該怎么轉化?《數據結構》已經給出了指引:設計出數據結構,在施加以算法就行了,當然現實問題會更復雜,需要框架,類庫,模式等支撐,具體的知識可以去小碼哥李明杰了解。

這是一種非常重要的邏輯思維能力的鍛煉,也是程序員入門的條件。很多半路出家的人, 僅僅上了個培訓班后參加工作,寫出的代碼實在是慘不忍睹,很明顯只掌握了工具,邏輯思維的訓練遠遠不足。

總結一下,學習完數據結構其實會潛移默化的影響你的邏輯思維,當然,你需要多多練習才有可能使用純熟,等它變成身體一部分以后,你就發現其實大部分編程任務都沒什么難度了,更難的其實是對編程更高的要求:抽象的能力。

查看完整回答
反對 回復 2019-11-24
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

因為數據結構不只是內存中數據的排列,它是對數據的一種組織方式,就像圖書館要排書一樣,是為了便于操作,同時它本身也集成了對通用操作:比如查找、比較等的支持。數組不是一種數據結構,而是一種數據類型。一個完整的數據結構包括邏輯結構和存儲結構。通常選擇了數據結構,算法也隨之確定,是數據而不是算法是系統構造的關鍵因素。

     因此在語言實現上,數據結構通常也會包含與之相對應的算法集合,這些算法是指基本算法:查找、索引、比較等。

      數據結構的邏輯結構和硬件是沒有關系的,而其存儲結構受到計算機硬件系統工作方式的影響,通常這點影響在于數據時順序存儲還是離散存儲。算法的基礎是數據結構。只有指定明確的數據結構,算法才能設計完成,脫離數據結構,算法是無法,也不可能成立的。因為不需要數據的算法就不是一個有效的計算機算法,算法中任何對數據的組織形式都可以被稱之為數據結構。

2.數據結構在編程中的地位是極其重要的,是一個程序實現的基礎中的基礎,在此基礎上才能構建算法。通常而言,你不了解什么高深的算法,一樣能完成工作,但是如果你不了解基本的數據結構,那么可以說,你根本就不能完成一個任何有實質性內容的程序。Donald Ervin Knuth教授在其《計算機程序設計藝術》的第一卷《基本算法》中花費的絕大部分的篇幅去論述數據結構。由此可見數據結構對算法的重要性。


查看完整回答
反對 回復 2019-11-24
  • 3 回答
  • 0 關注
  • 1706 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號