『壹』 演算法入門的話看什麼書比較好
原理 入門:《編碼:隱匿在計算機軟硬體背後的語言》
這是一本講述計算機工作原理的書。
不過,你千萬不要因為「工作原理」之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想像和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。 更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不遜於「電氣工程師」和「程序員」的理解。
不管你是計算機高手,還是對這個神奇的機器充滿敬畏之心的菜鳥,都不妨翻閱一下《編碼:隱匿在計算機軟硬體背後的語言》,讀一讀大師的經典作品,必然會有收獲。
實戰 晉升:《編程珠璣》
正如自然界里珍珠出自細沙對牡蠣的磨礪,計算機科學大師 Jon Bentley 以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程「珠璣」,成為世界計算機界名刊《ACM通訊》歷史上最受歡迎的專欄,最終結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。
本書為第一卷,主要討論計算機科學中最本質的問題:如何正確選擇和高效地實現演算法。
永恆的經典:《代碼大全》
Steve McConnell 的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
現在,作者將這本經典著作全新演繹,融入了最前沿的實踐技術,加入了上百個嶄新的代碼示例, 充分展示了軟體構建的藝術性和科學性。 McConnell匯集了來自研究機構、學術界以及業界日常實踐的主要知識, 把最高效的技術和最重要的原理交織融會為這本既清晰又實用的指南。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
『貳』 請大俠給我推薦幾個演算法的書.因為我沒讀過,所以請在回答的時候告訴我推薦的理由,最好有內容.
《演算法導論》
本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。本書專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。本書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的NP完全性的證明等內容。全書提供了900多個練習題和思考題以及敘述較為詳細的實例研究。
目錄(Table of Contents)
前言(Preface)
第一部分(Part I) 基礎(Foundations)
第一章 計算中演算法的角色(The Role of Algorithms in Computing)
第二章 開始(Getting Started)
第三章 函數的增長率(Growth of Functions)
第四章 遞歸(Recurrences)
第五章 概率分析與隨機化演算法(Probabilistic Analysis and Randomized Algorithms)
第二部分(Part II) 排序與順序統計(Sorting and Order Statistics)
第六章 堆排序(Heapsort)
第七章快速排序(Quicksort)
第八章 線性時間中的排序(Sorting in Linear Time)
第九章 中值與順序統計(Medians and Order Statistics)
第三部分(Part III) 數據結構(Data Structures)
第十章 基本的數據結構(Elementary Data Structures)
第十一章 散列表(Hash Tables)
第十二章 二叉查找樹(Binary Search Trees)
第十三章 紅-黑樹(Red-Black Trees)
第十四章 擴充的數據結構(Augmenting Data Structures)
第四部分(Part IV) 高級的設計與分析技術(Advanced Design and Analysis Techniques)
第十五章 動態規劃(Dynamic Programming)
第十六章 貪婪演算法(Greedy Algorithms)
第十七章 分攤分析(Amortized Analysis)
第五部分(Part V) 高級的數據結構(Advanced Data Structures)
第十八章 B-樹(B-Trees)
第十九章 二項式堆(Binomial Heaps)
第二十章 斐波納契堆(Fibonacci Heaps)
第二十一章 不相交集的數據結構(Data Structures for Disjoint Sets)
第六部分(Part VI) 圖演算法(Graph Algorithms)
第二十二章 基本的圖演算法(Elementary Graph Algorithms)
第二十三章 最小生成樹(Minimum Spanning Trees)
第二十四章單源最短路徑(Single-Source Shortest Paths)
第二十五章 全對的最短路徑(All-Pairs Shortest Paths)
第二十六章 最大流(Maximum Flow)
第七部分(Part VII) 精選的主題(Selected Topics)
第二十七章 排序網路(Sorting Networks)
第二十八章矩陣運算(Matrix Operations)
第二十九章 線性規劃(Linear Programming)
第三十章 多項式與快速傅里葉變換(Polynomials and the FFT)
第三十一章 數論演算法(Number-Theoretic Algorithms)
第三十二章 字元串匹配(String Matching)
第三十三章 計算幾何學(Computational Geometry)
第三十四章 NP-完備性(NP-Completeness)
第三十五章 近似演算法(Approximation Algorithms)
第八部分(Part VIII) 附錄:數學背景(Mathematical Background)
附錄A 求和(Summations)
附錄B 集合,等等。(Sets, Etc.)
附錄C 計數與概率(Counting and Probability)
參考文獻(Bibliography)
索引(Index)
『叄』 C++演算法的書籍(適合初學的)
一般來說,清華大學出版社的計算機書是最好的,主要有
1.《C++語言基礎教程(第2版)》
出版社:清華大學出版社
作者:呂鳳翥
書中全面、系統地講述了 C++語言的基本概念、基本語法和編程方法,較詳盡地講述了 C++語言面向對象的重要特徵: 類和對象、繼承和派生類、多態性、虛函數、函數模塊和類模板等內容。本書具有豐富的例題,每章後面均備有相當數量的練習題和作業題。 全書通俗易懂,由淺入深,突出重點,偏重應用。本書不僅可作為高等學校 C++語言課程的教材,還可作為 C++語言的自學教材
2.《面向對象程序設計與C++語言(第二版)》
出版社:人民郵電出版社
作者:楊庚/王汝傳/葉曉國
本書系統地介紹了面向對象技術及C++語言的相關知識。內容包括面向對象技術的概念和特徵、C++語言基礎、類和對象、派生與繼承、虛函數與多態性、模板、運算符重載、輸入/輸出流庫、異常處理等。 本書注重基本概念,從實際應用出發,突出重點,敘述清楚,深入淺出,論述詳盡,使讀者既能深刻領會面向對象程序設計的思想,了解面向對象程序設計的特徵,又能掌握C++語言的...
3.《C++語言程序設計教程》
出版社:清華大學出版社
作者:楊進才/沈顯君/劉蓉
C++語言是目前最為流行的程序設計語言,它既支持面向過程的結構化程序設計,也支持基於對象的面向對象程序設計。本書依據ANSI C++標准,從面向過程的編程到面向對象的編程方法展開,形成一條自然流暢的主線,同時兩個部分又自成體系,以滿足不同基礎與需求的學習者。內容包括:C++編程簡介、數據類型與表達式、控制結構、函數、構造數據類型、C++程序的結構、類與對象、繼承
4.《C/C++程序設計教程》
出版社:機械工業出版社
作者:秦維佳/傘宏力/侯春光/孟艷紅
本書是《C/C++程序設計教程》的配套學習輔導用書。. 全書共分12章,內容包括C/C++語言程序設計初步,C語言的數據類型及表達式,結構化程序設計,數組、函數與指針的概念和實例,結構體與共用體,位運算與文件的概念,面向對象程序設計,類的繼承與多態,C++的I/O流。每章包括知識體系、學習要點、上機實訓、習題和參考答案。.. 本書可供初學者學習C語言,也可供...
5.《C++程序設計基礎導學》
出版社:科學出版社
作者:趙海廷/嚴運國
本書為是實踐訓練環節必不可少的輔助教材。本書按照《C++程序設計基礎》的順序組織編撰,由基本要求、內容小結、典型例題分析、習題、實驗及習題參考答案組成。本書的目的是通過典型例題剖析、習題和實驗環節來鞏固所學的理論知識,提高學生的實踐操作水平。 本書適用高職高專的理工科學生,也適合於C++語言的初學者,還可供普通高校理...
『肆』 想學一些關於演算法的知識,請推薦幾本書或教材好嗎
最好的《演算法導論》,不過可能不太適合初學者,但是可以把這本書當做最終目標。
《演算法藝術與信息學競賽》也不錯,也適合ACM。
再有什麼《數據結構與演算法》之類的。
不過最好的演算法來源是前輩的課件和指導,這樣的帶有個人理解的演算法再加入自己的理解,可以很快就能掌握。
『伍』 如何成為演算法工程師 推薦幾本演算法入門書籍
是哪方面的演算法工程師?
信號處理演算法:書比較多,可以看看《數字信號處理》
體征(醫療)信號演算法:先要讀懂醫療的電信號,先看看醫療電信號的書
自動化控制演算法:
軌跡、速度規劃相關,資料很多,直接讀論文更快
控制演算法相關的,可以看看《自動控制原理》
機器人運動學、動力學相關的,可以看看李澤湘的《機器人數學導論》
無人機相關的,也可以看《機器人數學導論》,搜李澤湘學生的論文,看看《李群和李代數》,了解旋量理論,看一下PX4的開源代碼
機器學習/深度學習演算法:李航的《統計學習方法》、搜一下ufldl文檔看一下、還有周志華的西瓜書
通用的可以看看《高等代數》、《最優化原理》和《常微分》
『陸』 有哪些好的c/c++演算法的書
能推薦的書籍:演算法導論(原書第3版) 這一本書的思路和我很類似,都是以偽代碼的思路展開,但是與我相比,欠缺的是如何轉為實際代碼。演算法(第4版) 這一本書各種圖例,很淺顯易懂,但是是Java。數據結構與程序設計 C++語言編寫,我以前的大學教材,習題很值得一做。Data Structures & Algorithm Analysis in C++ (9780132847377): Mark A. Weiss: Books C++11編寫,若你想要C++11編寫的數據結構教材,可以參看這本書。HackerRank 練習Data Structures 與 Algorithms版塊,題目難度循循漸進。著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。若是演算法的話,我個人認為是不應該局限於C/C++的,只是目前很多書籍會以 演算法 ---- XXXX 語言實現 來作為講解,其中一個原因是目標讀者熟悉這種語言。而在推薦書籍前,我想給你我認為一種學習演算法的方式,然後你再看書籍時按照這樣的方法學,或許會好一點點。不過這是我的一言,若你覺得適合你就採用,若覺得不好,也可以再摸索出適合自己的方式,適合自己的才是最好的。我認為我們若初學演算法,可以分為兩步,第一步,思考清楚演算法,你可以使用自己最舒服的表達方式來記錄你的思考流程。我舉一個例子,如 bubble sort ,你不必最開始就想著如何用 C/C++來寫,你可以考慮清楚bubble sort到底是什麼,然後流程方法是什麼,然後記錄下來。那麼,我來回答這個問題會是類似這樣,bubble sort是一種排序的方法,它可以把給入的元素序列進行排序。
『柒』 有什麼經典的c語言演算法書推薦一下嗎
演算法導論
數據結構 嚴蔚敏
數據結構與演算法分析——c語言描述
演算法珠璣
c編程專家
這幾個都可以考慮.
『捌』 學習演算法,哪本書比較好
978-7-121-04278-2 計算機演算法設計與分析 王曉東 電子工業出版社 第3版
『玖』 求推薦一本演算法書!
呵呵。國內國外的都很多,看你的數學功底和偏好了。簡單點的,就是國內那些數據結構教材,如果你數學功底比較好,可以看mit的《演算法導論》,網上有下載的。是絕對經典的書,不過裡面演算法復雜度分析也很多,證明也比較多。當然,《數據結構與演算法-c描述》《數據結構與演算法-c++描述》都很經典,比演算法導論簡單,比國內的演算法書好
推薦譚浩強的c語言書籍。
『拾』 計算機相關專業想學習演算法,需要看哪些書
《嵌入式Linux應用程序開發詳解》這本書主要是已經對計算機這方面很了解的人看的,主要針對於程序開發。感興趣的人可以看看。