演算法導論什麼語言
① 演算法導論/計算機科學叢書用的是什麼語言
一般是c語言
② 演算法導論 是針對c++ 還是java
都不是. 演算法導論用的是偽代碼, 每種演算法用任意語言都可以實現. 學演算法就不要糾結語言了
③ 學習演算法導論需要什麼數學基礎或者其他的基礎嗎
演算法導論的數學基礎要求不是很高 確切的說老外的書 對於數學的要求都不是很高 但 人家要的是研究的態度 線代 高數 還有一點點的離散數學基礎就可以了
④ c語言演算法經典入門書籍推薦!!!!!!!!!!!1最好是國外的書!
《演算法導論》原書名——《Introction to Algorithms》,是一本十分經典的計算機演算法書籍,與高德納(Donald E.Knuth)的《計算機程序設計藝術》(《The Art Of Computer Programming》)相媲美。 《演算法導論》由Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein四人合作編著(其中Clifford Stein是第二版開始參與的合著者)。本書的最大特點就是將嚴謹性和全面性融入在了一起。
http://ke..com/link?url=-
大學教的數據結構和演算法基本上面都有,我就作為參考書
⑤ 演算法導論是講c的演算法還是整個演算法。適合什麼時候看。我現在入門c語言。以後該怎麼個學習法。
講的當然是演算法的經典理論知識和方法,這些理論和方法用在其他編程語言仍然是通用的。當然書中可能會用c語言寫的代碼作為例子來講解。
學習一門編程語言和學習演算法是密不可分的,系統的演算法知識有助於編程語言的靈活運用,而一定的編程語言基礎又有助於更好地理解演算法的精髓。
如果你在學習C語言之前,有一定的編程基礎,那麼建議現在就開始學習演算法導論,這樣有助於你C語言的學習。
如果你無任何編程基礎,還是建議先從學習C語言開始,等有了一定的編程基礎之後再去學習演算法導論,才能讓你的編程能力更上一層樓。
⑥ 數據結構用什麼語言
問題一:數據結構和語言是什麼關系? 數據結構其本身是和語常無關的,也就是說數據結構只有一個版本,至於應該選擇哪一個語言進行學習,可以就個人愛好與善長決定。C,C++,Java都是不 錯的選擇。數據結構和語言的關系就像數學定理和描述它的自然語言一樣,你首液可以用中文表達勾股定理,也可以用英文,法文或者世界上任何一種語言表達它,但是 世上只有一個勾股定理。當然,如果任何一種語言你都不會,那將無法學好數據結構的。如果你打算今後都用C語言,那麼可以認為數據結構是C語言的加強和發 展。
問題二:學習數據結構都使用什麼語言 自己熟悉什麼編程語言
就找一本相應編程語言的數據結構書記進行學習
這樣更容易學一些
問題三:數據結構 各編程語言是通用的嗎? 數據結構是一種工具,重要的是它的思想。具體的實現倒是沒什麼的,JAVA和C無非是長的不太一樣(只談語言代碼)。演算法和數據結構都是一樣的東西,《演算法導論》上的都是偽代碼,用的類C和類PA丁CAL。學JAVA或.NET的照樣可以看。
所以LZ用這個還是可以的,但如果看不懂C語言或者代碼實現能力有問題……那就沒辦法了……還是去搞本能看懂的書吧
建議LZ多用一些比較經典的書。現在書抄書太嚴重=。=
問題四:學習數據結構用什麼語言最好? 呵,肯定是C語言啦。
問題五:大家數據結構演算法用什麼語言寫? 寫數據結構課程設計,除了第一個長整數加減乘除用的C語言,後面幾個課程設計都用C++了,覺得數據結構就應該用C++,面向對象
問題六:C語言中所謂的數據結構是什麼啊? 所謂結構就是組織形式,數據的結構就是數據怎麼組織,即怎麼描述,怎麼在電腦中存儲。不同類型的數據,它們的組織形式(數據結構)是不同的,如我們把一個班的學生按照學號排隊,可以用「數組」來描述它,而如果要描矗一個家族的系譜,從祖先到子子孫孫,開支散葉,則可以用「樹」來描述,因為這樣的數據組織起來像一顆樹。數組和樹,在進行插入數據,刪除數據等操作時,它們的操作方式是不一樣的。如果想編程序,那麼必須要了解一些數據結構方面的知識。因為你首先要知道怎麼描述數據。
問題七:c語言學到哪個程度可以看數據結構? 學會C的基礎 並且能夠熟練運用C來完成一些基礎的小程序 重弗要會指針(這個好重要) 數據結構一堆東西都要用到指針 鏈表 堆棧 樹 圖 七七八八的 這樣一般就可以開始看了 數據結構里看不懂的再回去翻翻C 兩邊都能得到提升
問題八:openflow數據結構是什麼語言 事實上,OpenFlow交換機在Interop Las Vegas 2011上就已經公諸於眾了,並且也引起了很大的爭論。
SDN允許網路工程師控制和管理他們的網路,以便最好地服務他們各自需求,從而增加網路功能和降低運營網路的成本。Open Networking Foundation支持OpenFlow規范,這將最終實現定義軟體的網路。
OpenFlow是一套軟體API,它允許一個控制器將配置信息發送給交換機。這個配置往往指的是一個流及其附屬的某些操作。
流是一組定義的幀或者數據包(類似於一個MPLS流)與一組操作。例如:
Source IP/Port、Destination IP/Port和Drop。
Source IP、Destination IP和QoS Action。
Source MAC、Destination MAC和L2 Path。
通過OpenFlow,您可以將一組規則發送給一台配置設備的交換機或者路由器。然後每個設備會根據它的類型使用這些數據。交換機會更新它的MAC地址表以轉發幀,禪芹旅路由器會添加訪問列賀凳表,而防火牆會更新它的規則。
當組織將網路配置從設備遷移到軟體平台時,交換機就變得更加簡單和廉價了。但是主要的受益是網路配置可以由中央控制器管理。
控制者是一個包含演算法、數學、分析和規則的軟體,它來自規則組,並使用OpenFlow將配置下載到網路設備中。因此,當控制器評估和重新平衡配置時,網路就可能動態地進行重新配置。這就是所謂的軟體定義網路。
HP Networking: HP已經在OpenFlow上投入了大量的資源。我見過HP向委員會提交的一個QoS功能的演示,並且公司也為控制器平台制定了全面的軟體計劃。
NEC: 您可能還未聽說過NEC也是一個網路供應商,但是這家公司有完整的產品系列,並且已經在NEC美國市場開始銷售了。NEC已經為OpenFlow做出了幾個重大的貢獻,而且它有一個支持OpenFlow的完整系列交換機。在Interop上,NEC演示了它的OpenFlow控制器。
Cisco: 雖然網路巨頭是Open Networking Foundation的成員之一,但是我還未能找到它關於OpenFlow的計劃。很可能Cisco會覺得OpenFlow破壞了作為營利產品的IOS軟體。OpenFlow最突出的優點是減少硬體交換機的成本,而本身不會給網路供應商的銷售帶來任何的提升。
Avaya: 雖然公司在Shortest Path Bridging策略方面下了很大的功夫,但是據我了解,公司目前並沒有任何關於OpenFlow的計劃。
Arista: 網路新貴並沒有任何關於OpenFlow的發布計劃,同時它還指出在一台設備上管理所有流是不可能的。雖然Cisco也這樣認為,但是我認為這是對OpenFlow工作方式的一種誤解。使用OpenFlow來處理每一個流是可能的,但這並不是必要的,這只是一個配置選項。
Big Switch Networks: 這個最近成立的新興公司關注於OpenFlow解決方案,特別是網路虛擬化。雖然Big Switch網站上沒有任何的詳細信息,但是我認為它們正在開發控制器和交換機。
如果OpenFlow能夠擁有足夠多的客戶,那麼它將從根本上改變網路行業,因為我們目前所使用的控制協議(例如OSPF或者Spanning Tree或者DCB)將被軟體控制器所取代。雖然這會促成硬體的商品化,但是軟體控制器將成為網路行業中新的組成部分。...>>
問題九:數據結構到底怎麼學比較好啊? 寫數據結構代碼編程了學習C語言,是大多數初學者的經驗,其實有辦法可以避免的。
多想> 多看 > 多寫字 > 多動鍵盤
養成好的編程習慣很重要。
做任何工作之前,要把自己的思路整理清楚 參考別人的相關工作經驗,針對自己的需求做分析 把思路落實到紙張上 採用自頂向下的編程方式,先把你的個函數的功能,入口和出口描述清楚 每個函數內部的執行流程,都要注釋好。 最後再分段逐步編碼。
這樣可以有效的避免大多數的錯誤發生。 即便出現錯誤,也很容易定位到問題的所在。 不知道大家是怎樣看待數據結構這門課的,有多少人覺得數據結構很難呢?我知道還是有一些同學這樣覺得的,有時候我跟我的朋友講要怎樣學,講了一大堆以後,他就向我抱怨:我以前c++都沒有學好,數據結構更學不好了,這哪跟哪的話啊,數據結構與c++沒有什麼關系,我想假如抱有這樣的心態,自己就不相信自己,那是不可能學好的,然後那些覺得數據結構很難的同學,我想他們應該會很看重數據結構的吧,然後就一天到晚捧著一本數據結構,這樣不會覺得很累嗎?而且因為覺得很難,就容易不相信自己,學的效率也不會很好,個人認為數據結構很好學,很容易學,或許這有點妄自菲薄吧,但是因為我覺得很容易,當然就會覺得自己沒問題,學得很輕松,效果也還可以。大家都是從高考走過來的,應該知道心態的重要性吧,兩種不同的心態,完全就是兩種不同的效果。學了這么久數據結構了,我們到底在學些什麼呢?不知道大家有沒有想過,那現在我們現在來歸納一下我們學習的內容吧,其實學到現在我們也就學了幾種普通的數據結構,象二叉樹,樹,圖,還有排序的問題,前面的線性表和字元串也就是一些概念,當然還有一個很重要的KMP演算法,然後在每種數據結構中我們也就是學到了若干處理的演算法,我想真正數起來也就是幾十個演算法吧。學習數據結構也就是要掌握這幾十種演算法,多簡單。至於如何掌握每個演算法呢,我想就是多看看書,重要的是能夠理解。 如果真的想學好數據結構的話,最好是能夠自己思考問題,不要剛想了一會就覺得做不出來,然後就去問其他人。其實張老師給我們的作業還是基於我們的水平的,我絕對相信我們自己能夠獨自想出演算法,雖有可能會比較長時間吧,但是這樣肯定會比問其他人學到更多的東西。當然我並不是說不要問同學,有時候就是腦筋轉不過來,一問別人就懂了,當然問了別人不能只是我知道了這個演算法,還應該去想如何思考才能得到這個演算法,這樣水平會提高很多。
很多計算機專業的同學對於大學2年級開設的數據結構課程很是頭痛. 看見大家總在談論數據結構重要性,可使自己學習卻總也找不到合適的方法. 下面我和大家分享一下我過去一年多以來學習和應用數據結構方面一些經驗. 內容都是來自作者本人的一些經歷和體驗,希望對於大家學習數據結構有引導作用。 1什麼是數據結構 數據結構從文字上面來看,為數據和結構兩部分。這樣就很容易聯繫到數據結構的本質是一種對於數據結構花的知識。補充一個知識點,數據結構本質和離散數學有很密切的關系。離散數學是處理的是離散(非連續的)的數據,站在數據結構的觀點上來看,也可以理解是一種非連續數據的結構。 2數據結構和程序設計語言 數據結構和程序設計語言本身沒有任何聯系,唯一有的關系就實用程序語言去描述數據結構。 因為數據結構是一種抽象數據,通過程序設計語言可以將在計算機中進行實現。今天大學里數據結構課程常用來描述數據結構的語言有C程序設計語言,C 程序設計語言和JAVA程序設計語言.而對於喜歡其他語言的同學完全可以自己通過學習數據結構後用自己熟悉的程序設計語言去完成程序化的描述. 我自己過去......>>
問題十:用C語言寫的數據結構的定義 這個語句是2條語句復合成的。
首先typedef 表示數據類型重定義
表示將結構類型struct {elementype data;struct node *next;}重定義為node
以後就可以用node表示struct {elementype data;struct node *next;} 類型了
拆開寫應該更好理解一些
struct node
{
elementype data; 弧/elementype表示一種數據類型,可能是int/char等等
struct node *next; next 指針,用於鏈表結構指向下一個節點
};
typedef struct node node; 重定義struct node類型為node
重定義後數據定義struct node mynode;就等價於node mynode;了
⑦ 請問<演算法導論>原書第2版是用的那種語言
是偽碼,類似於C語言。
⑧ 實現《演算法導論》中的習題,用什麼語言比較好
演算法導論?一般都寫偽代碼慶唯裂的吧
當然如果你一定要用一種語言來寫,按照個人習慣吧。
我的比較建議C語言,山裂畢竟是比較多的人的入門語言,感覺用譽閉來寫演算法不錯
⑨ 有哪些用 python 語言講演算法和數據結構的書
1.Python數據結構篇
數據結構篇主要是閱讀[Problem Solving with Python](Welcome to Problem Solving with Algorithms and Data Structures) [該網址鏈接可能會比較慢]時寫下的閱讀記錄,當然,也結合了部分[演算法導論](Introction to Algorithms)
中的內容,此外還有不少wikipedia上的內容,所以內容比較多,可能有點雜亂。這部分主要是介紹了如何使用Python實現常用的一些數據結構,例
如堆棧、隊列、二叉樹等等,也有Python內置的數據結構性能的分析,同時還包括了搜索和排序(在演算法設計篇中會有更加詳細的介紹)的簡單總結。每篇文
章都有實現代碼,內容比較多,簡單演算法一般是大致介紹下思想及演算法流程,復雜的演算法會給出各種圖示和代碼實現詳細介紹。
**這一部分是下
面演算法設計篇的前篇,如果數據結構還不錯的可以直接看演算法設計篇,遇到問題可以回來看數據結構篇中的某個具體內容充電一下,我個人認為直接讀演算法設計篇比
較好,因為大家時間也都比較寶貴,如果你會來讀這些文章說明你肯定有一定基礎了,後面的演算法設計篇中更多的是思想,這里更多的是代碼而已,嘿嘿。**
(1)[搜索](Python Data Structures)
簡述順序查找和二分查找,詳述Hash查找(hash函數的設計以及如何避免沖突)
(2)[排序](Python Data Structures)
簡述各種排序演算法的思想以及它的圖示和實現
(3)[數據結構](Python Data Structures)
簡述Python內置數據結構的性能分析和實現常用的數據結構:棧、隊列和二叉堆
(4)[樹總結](Python Data Structures)
簡述二叉樹,詳述二叉搜索樹和AVL樹的思想和實現
2.Python演算法設計篇
演算法設計篇主要是閱讀[Python Algorithms: Mastering Basic Algorithms in the Python Language](Python Algorithms: Mastering Basic Algorithms in the Python Language)[**點擊鏈接可進入Springer免費下載原書電子版**]之後寫下的讀書總結,原書大部分內容結合了經典書籍[演算法導論](Introction to Algorithms),
內容更加細致深入,主要是介紹了各種常用的演算法設計思想,以及如何使用Python高效巧妙地實現這些演算法,這里有別於前面的數據結構篇,部分演算法例如排
序就不會詳細介紹它的實現細節,而是畢畝燃側重於它內在的演算法思想。這部分使用了一些與數據結構有關的第三方模塊,因為這篇的重點是演算法的思想以及實現,所以並
沒有去重新實現每個數據結構,但是在介紹演算法的同時會分析Python內置數據結構以及第三方數據結構模塊的優缺點,也就意味著該篇比前面都要難不耐缺少,但
是我想我的介紹應該還算簡單明了,因為我用的都是比較朴實的語言,並沒有像演算法導論一樣列出一堆性質和定理,主要是對著某個問題一步步思考然後演算法就出來
了,嘿嘿,除此之外,裡面還有很多關於python開發的內容,精彩真的不容錯過!
這里每篇文章都有實現代碼,但是代碼我一般都不會分
析,更多地是分析演算法思想,所以內容都比較多,即便如此也沒有包括原書對應章節的所有內容,因為內容實在太豐富了,所以我只是選擇經典的演算法實例來介紹算
法核心思想,除此之外,還有不少內容是原書沒有的,部分是來自演算法導論,部分是來自我自己的感悟,嘻嘻。該篇對於大神們來說是小菜,請一笑而過,對於菜鳥
們來說可能有點難啃,所以最適合的是和我水平差不多的,對各個演算法都有所了解但是理解還不算深刻的半桶水的程序猿,嘿嘿。手虛
本篇的順序按照原書[Python Algorithms: Mastering Basic Algorithms in the Python Language](Python Algorithms: Mastering Basic Algorithms in the Python Language)的章節來安排的(章節標題部分相同部分不同喲),為了節省時間以及保持原著的原滋原味,部分內容(一般是比較難以翻譯和理解的內容)直接摘自原著英文內容。
**1.
你也許覺得很多內容你都知道嘛,沒有看的必要,其實如果是我的話我也會這么想,但是如果只是歸納一個演算法有哪些步驟,那這個總結也就沒有意義了,我覺得這
個總結的亮點在於想辦法說清楚一個演算法是怎麼想出來的,有哪些需要注意的,如何進行優化的等等,採用問答式的方式讓讀者和我一起來想出某個問題的解,每篇
文章之後都還有一兩道小題練手喲**
**2.你也許還會說演算法導論不是既權威又全面么,基本上每個演算法都還有詳細的證明呢,讀演算法導論豈
不更好些,當然,你如果想讀演算法導論的話我不攔著你,讀完了感覺自己整個人都不好了別怪小弟沒有提醒你喲,嘻嘻嘻,左一個性質右一個定理實在不適合演算法科
普的啦,沒有多少人能夠堅持讀完的。但是碼農與蛇的故事內容不多喲,呵呵呵**
**3.如果你細讀本系列的話我保證你會有不少收獲的,需要看演算法導論哪個部分的地方我會給出提示的,嘿嘿。溫馨提示,前面三節內容都是介紹基礎知識,所以精彩內容從第4節開始喲,么么噠 O(∩_∩)O~**
(1)[Python Algorithms - C1 Introction](Python Algorithms)
本節主要是對原書中的內容做些簡單介紹,說明演算法的重要性以及各章節的內容概要。
(2)[Python Algorithms - C2 The basics](Python Algorithms)
**本節主要介紹了三個內容:演算法漸近運行時間的表示方法、六條演算法性能評估的經驗以及Python中樹和圖的實現方式。**
(3)[Python Algorithms - C3 Counting 101](Python Algorithms)
原書主要介紹了一些基礎數學,例如排列組合以及遞歸循環等,但是本節只重點介紹計算演算法的運行時間的三種方法
(4)[Python Algorithms - C4 Inction and Recursion and Rection](Python Algorithms)
**本節主要介紹演算法設計的三個核心知識:Inction(推導)、Recursion(遞歸)和Rection(規約),這是原書的重點和難點部分**
(5)[Python Algorithms - C5 Traversal](Python Algorithms)
**本節主要介紹圖的遍歷演算法BFS和DFS,以及對拓撲排序的另一種解法和尋找圖的(強)連通分量的演算法**
(6)[Python Algorithms - C6 Divide and Combine and Conquer](Python Algorithms)
**本節主要介紹分治法策略,提到了樹形問題的平衡性以及基於分治策略的排序演算法**
(7)[Python Algorithms - C7 Greedy](Python Algorithms)
**本節主要通過幾個例子來介紹貪心策略,主要包括背包問題、哈夫曼編碼和最小生成樹等等**
(8)[Python Algorithms - C8 Dynamic Programming](Python Algorithms)
**本節主要結合一些經典的動規問題介紹動態規劃的備忘錄法和迭代法這兩種實現方式,並對這兩種方式進行對比**
(9)[Python Algorithms - C9 Graphs](Python Algorithms)
**本節主要介紹圖演算法中的各種最短路徑演算法,從不同的角度揭示它們的內核以及它們的異同**
⑩ 數據結構和演算法用什麼語言來學習入手比較好
C語言凳畢會比較好,C更加基礎,書籍大部分也是C、C++的,如果只考晌頃慮java和C++的話,C++比較好,算宴粗陸法的話《演算法導論》很經典,數據結構的話可以看《演算法與數據結構》傅清祥 王曉東版的。