出版時(shí)間:2011-5 出版社:中國(guó)鐵道出版社 作者:秦姣華,向旭宇 著 頁(yè)數(shù):406
Tag標(biāo)簽:無(wú)
內(nèi)容概要
計(jì)算機(jī)技術(shù)的發(fā)展和普及不僅改變了人們的生活和娛樂(lè)方式,也改變了人們的工作方式,這其中最為重要的便是計(jì)算機(jī)編程技術(shù)。現(xiàn)代的設(shè)計(jì)任務(wù)大多通過(guò)代碼編程交給計(jì)算機(jī)來(lái)完成,其中算法起到了至關(guān)重要的作用??梢院敛豢鋸埖卣f(shuō),算法是一切程序設(shè)計(jì)的靈魂和基礎(chǔ)。《C/C++常用算法手冊(cè)》分3篇,共13章,“第1篇算法基礎(chǔ)篇”介紹了算法概述,重點(diǎn)分析了數(shù)據(jù)結(jié)構(gòu)和基本算法思想;“第2篇算法基本應(yīng)用篇”詳細(xì)講解了算法在排序、查找、數(shù)值計(jì)算、數(shù)論、經(jīng)典趣題和游戲中的應(yīng)用;“第3篇算法高級(jí)應(yīng)用篇”講解了算法的一些高級(jí)應(yīng)用技術(shù),包括在密碼學(xué)和數(shù)據(jù)壓縮/解壓縮中的應(yīng)用?!禖/C++常用算法手冊(cè)》知識(shí)點(diǎn)覆蓋全面、結(jié)構(gòu)安排緊湊、講解詳細(xì)、示例豐富。全書(shū)對(duì)每一個(gè)知識(shí)點(diǎn)都給出了相應(yīng)的算法及應(yīng)用示例。雖然這些例子都是以c語(yǔ)言來(lái)編寫(xiě)的,但是算法并不局限于c語(yǔ)言。如果讀者采用其他編程語(yǔ)言,例如c++、c撐、VB、Java等,根據(jù)其語(yǔ)法格式進(jìn)行適當(dāng)?shù)男薷募纯伞! 禖/C++常用算法手冊(cè)》主要定位于有一定c/c++語(yǔ)言編程基礎(chǔ)、想通過(guò)學(xué)習(xí)算法與數(shù)據(jù)結(jié)構(gòu)提升編程水平的讀者,也可作為具有一定編程經(jīng)驗(yàn)的程序員以及大中專院校學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法的參考書(shū)。
書(shū)籍目錄
第1篇 算法基礎(chǔ)篇第1章 算法概述1.1 什么是算法1.2 算法的發(fā)展歷史1.3算法的分類1.4 算法相關(guān)概念的區(qū)別1.5 算法的表示1.5.1 自然語(yǔ)言表示1.5.2 流程圖表示1.5.3 N.S圖表示1.5.4 偽代碼表示1.6 算法的性能評(píng)價(jià)1.7 算法實(shí)例1.7.1 查找數(shù)字1.7.2 創(chuàng)建項(xiàng)目1.7.3 編譯執(zhí)行1.8 算法的新進(jìn)展1.9 小結(jié)第2章 數(shù)據(jù)結(jié)構(gòu)2.1 數(shù)據(jù)結(jié)構(gòu)概述2.1.1 什么是數(shù)據(jù)結(jié)構(gòu)2.1.2數(shù)據(jù)結(jié)構(gòu)中的基本概念2.1.3數(shù)據(jù)結(jié)構(gòu)的內(nèi)容2.1.4 數(shù)據(jù)結(jié)構(gòu)的分類2.1.5 數(shù)據(jù)結(jié)構(gòu)的幾種存儲(chǔ)方式2.1.6 數(shù)據(jù)類型2.1.7 常用的數(shù)據(jù)結(jié)構(gòu)2.1.8 選擇合適的數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題2.2 線性表2.2.1 什么是線性表2.2.2 線性表的基本運(yùn)算2.3 順序表結(jié)構(gòu)2.3.1 準(zhǔn)備數(shù)據(jù)2.3.2 初始化順序表2.3.3 計(jì)算順序表長(zhǎng)度2.3.4 插入結(jié)點(diǎn)2.3.5 追加結(jié)點(diǎn)2.3.6 刪除結(jié)點(diǎn)2.3.7 查找結(jié)點(diǎn)2.3.8 顯示所有結(jié)點(diǎn)2.3.9 順序表操作示例2.4 鏈表結(jié)構(gòu)2.4.1 什么是鏈表結(jié)構(gòu)2.4.2 準(zhǔn)備數(shù)據(jù)2.4.3 追加結(jié)點(diǎn)2.4.4 插入頭結(jié)點(diǎn)2.4.5 查找結(jié)點(diǎn)2.4.6 插入結(jié)點(diǎn)2.4.7 刪除結(jié)點(diǎn)2.4.8 計(jì)算鏈表長(zhǎng)度2.4.9 顯示所有結(jié)點(diǎn)2.4.10 鏈表操作示例2.5 棧結(jié)構(gòu)2.5.1 什么是棧結(jié)構(gòu)2.5.2 準(zhǔn)備數(shù)據(jù)2.5.3 初始化棧結(jié)構(gòu)2.5.4 判斷空棧2.5.5 判斷滿棧2.5.6 清空棧2.5.7 釋放空間2.5.8 入棧2.5.9 出棧2.5.1 0讀結(jié)點(diǎn)數(shù)據(jù)2.5.1 1棧結(jié)構(gòu)操作示例2.6 隊(duì)列結(jié)構(gòu)2.6.1 什么是隊(duì)列結(jié)構(gòu)2.6.2 準(zhǔn)備數(shù)據(jù)2.6.3初始化隊(duì)列結(jié)構(gòu)2.6.4.判斷空隊(duì)列2.6.5 判斷滿隊(duì)列2.6.6 清空隊(duì)列2.6.7 釋放空間2.6.8 入隊(duì)列2.6.9 出隊(duì)列2.6.10 讀結(jié)點(diǎn)數(shù)據(jù)2.6.11 計(jì)算隊(duì)列長(zhǎng)度2.6.12 隊(duì)列結(jié)構(gòu)操作示例2.7 樹(shù)結(jié)構(gòu)2.7.1 什么是樹(shù)結(jié)構(gòu)2.7.2 樹(shù)的基本概念2.7.3 二叉樹(shù)2.7.4 準(zhǔn)備數(shù)據(jù)2.7.5 初始化二叉樹(shù)2.7.6 添加結(jié)點(diǎn)2.7.7 查找結(jié)點(diǎn)2.7.8 獲取左子樹(shù)2.7.9 獲取右子樹(shù)2.7.10 判斷空樹(shù)2.7.11 計(jì)算二叉樹(shù)深度2.7.12 清空二叉樹(shù)2.7.13 顯示結(jié)點(diǎn)數(shù)據(jù)2.7.14 遍歷二叉樹(shù)2.7.15 樹(shù)結(jié)構(gòu)操作示例2.8 圖結(jié)構(gòu)2.8.1 什么是圖結(jié)構(gòu)2.8.2 圖的基本概念2.8.3 準(zhǔn)備數(shù)據(jù)2.8.4 創(chuàng)建圖2.8.5 清空?qǐng)D2.8.6 顯示圖2.8.7 遍歷圖2.8.8 圖結(jié)構(gòu)操作示例2.9 小結(jié)第3章 基本算法思想3.1 常用算法思想概述3.2 窮舉算法思想3.2.1 窮舉算法基本思想3.2.2 窮舉算法示例3.3 遞推算法思想3.3.1 遞推算法基本思想3.3.2 遞推算法示例3.4 遞歸算法思想3.4.1 遞歸算法基本思想3.4.2 遞歸算法示例3.5 分治算法思想3.5.1 分治算法基本思想3.5.2 分治算法示例3.6 概率算法思想3.6.1 概率算法基本思想3.6.2 概率算法示例3.7 小結(jié)第2篇 算法基本應(yīng)用篇第4章 排序算法4.1 排序算法概述4.2 冒泡排序法4.2.1 冒泡排序算法4.2.2 冒泡排序算法示例4.3 選擇排序法4.3.1 選擇排序算法4.3.2 選擇排序算法示例4.4 插入排序法4.4.1 插入排序算法……第5章 查找算法第7章 復(fù)雜的數(shù)值計(jì)算算法第8章 經(jīng)典數(shù)據(jù)結(jié)構(gòu)問(wèn)題第9章 數(shù)論問(wèn)題第10章 算法經(jīng)典趣題第11章 游戲中的算法第3篇 算法高級(jí)應(yīng)用篇第12章 密碼學(xué)算法第13章 壓縮與解壓縮算法
章節(jié)摘錄
雖然業(yè)界沒(méi)有一個(gè)統(tǒng)一的定義,但是這些定義都是具有相同的含義。我們?cè)谶@里不再追究數(shù)據(jù)結(jié)構(gòu)的確切定義,只需要了解數(shù)據(jù)結(jié)構(gòu)的基本含義,并能夠使用其解決問(wèn)題即可。我們可以這樣簡(jiǎn)單地理解數(shù)據(jù)結(jié)構(gòu),一個(gè)數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來(lái)的,對(duì)數(shù)據(jù)元素問(wèn)邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu)。由于數(shù)據(jù)必須在計(jì)算機(jī)內(nèi)存儲(chǔ),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是其在計(jì)算機(jī)內(nèi)的表示,也就是數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)形式。另外,討論一個(gè)數(shù)據(jù)結(jié)構(gòu),必須涉及在該類數(shù)據(jù)上執(zhí)行的運(yùn)算?! ?shù)據(jù)結(jié)構(gòu)是一切算法的基礎(chǔ),而且不僅僅如此,數(shù)據(jù)結(jié)構(gòu)可以說(shuō)是程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)。正是由于對(duì)數(shù)據(jù)結(jié)構(gòu)的深入理解,才導(dǎo)致多種多樣的程序設(shè)計(jì)語(yǔ)言的誕生,例如Java、C++、C≠}等。其中,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言就是完善處理對(duì)象類型數(shù)據(jù)結(jié)構(gòu)的范例,這在某些方面可以方便地描述和解決實(shí)際問(wèn)題。 2.1.2 數(shù)據(jù)結(jié)構(gòu)中的基本概念 深入了解數(shù)據(jù)結(jié)構(gòu)之前,我們需要簡(jiǎn)單掌握一下數(shù)據(jù)結(jié)構(gòu)中涉及的一些基本概念,主要包括如下幾個(gè)?! ?shù)據(jù)(Data):數(shù)據(jù)是信息的載體,能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理,是計(jì)算機(jī)程序加工的“原材料”。數(shù)據(jù)包括的類型是非常廣泛的,例如基本的整數(shù)、字符、字符串、實(shí)數(shù)等。此外,圖像和聲音等也都可以認(rèn)為是一種數(shù)據(jù)?! ?shù)據(jù)元素(DataElement):數(shù)據(jù)元素是數(shù)據(jù)的基本單位,也稱為元素、結(jié)點(diǎn)、頂點(diǎn)、記錄等。一般來(lái)說(shuō),一個(gè)數(shù)據(jù)元素可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)是具有獨(dú)立含義的最小標(biāo)識(shí)單位。數(shù)據(jù)項(xiàng)也可稱為字段、域、屬性等。數(shù)據(jù)結(jié)構(gòu)(:DataStructure):數(shù)據(jù)結(jié)構(gòu)指的是數(shù)據(jù)之間的相互關(guān)系,也就是數(shù)據(jù)的組織形式。這是本章所要討論的主要內(nèi)容。
編輯推薦
《C/C++常用算法手冊(cè)》計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言林林總總,程序設(shè)計(jì)的應(yīng)用領(lǐng)域和應(yīng)用方向也各不相同。但是不管采用什么程序設(shè)計(jì)語(yǔ)言,不管是應(yīng)用在嵌入式底層開(kāi)發(fā)、WEB應(yīng)用開(kāi)發(fā)、或者M(jìn)IS系統(tǒng)開(kāi)發(fā)……代碼中所采用的算法,決定了你所編寫(xiě)程序的運(yùn)行效率,代碼的簡(jiǎn)潔程度,甚至是可維護(hù)性?! 『敛豢鋸埖卣f(shuō),算法是整個(gè)程序設(shè)計(jì)的核心,算法是一切程序設(shè)計(jì)的靈魂和基礎(chǔ)。選擇合理的算法,可以起到事半功倍的效果。對(duì)于程序開(kāi)發(fā)者來(lái)說(shuō),學(xué)習(xí)和掌握算法成為最重要的基本功?! 〔贿^(guò),一般的算法和數(shù)據(jù)結(jié)構(gòu)類圖書(shū),多從理論角度編寫(xiě),讀者在學(xué)習(xí)的過(guò)程中會(huì)感到枯燥和吃力,往往學(xué)習(xí)一段時(shí)間后便喪失了興趣。《C/C++常用算法手冊(cè)》以一些有趣有用的實(shí)例為主,以實(shí)際可行的代碼為講解方式,可大大提升讀者的學(xué)習(xí)興趣,有效輔助讀者深入全面地掌握算法的意義和一些程序設(shè)計(jì)中必須掌握的、可參考使用的經(jīng)典算法。 增值服務(wù)一本真正的好書(shū)要為讀者在書(shū)本之外搭建起一條提升能力的階梯;為了讓《C/C++常用算法手冊(cè)》更加完善,讀者在學(xué)習(xí)《C/C++常用算法手冊(cè)》的過(guò)程中如果發(fā)現(xiàn)有不明白的地方或者有更好的算法和其他建議,和我們交流,相互學(xué)習(xí)和共同提升。另外。讀者還可以到《C/C++常用算法手冊(cè)》專有的讀者服務(wù)網(wǎng)站:上交流學(xué)習(xí)心得、閱讀相關(guān)技術(shù)和了解在實(shí)際工作中可能會(huì)用到的其他算法技術(shù)資料。該資料內(nèi)容至少有600頁(yè)。同時(shí),我們還會(huì)在這個(gè)網(wǎng)站上提供輔助視頻教學(xué)服務(wù),供讀者下載或者在線學(xué)習(xí)。 算法是一切程序設(shè)計(jì)的基礎(chǔ)和靈魂,更是一位程序員水平高低的集中體現(xiàn)?! 『w廣泛,精煉的理論講述搭配大量經(jīng)典算法示例,學(xué)習(xí)查詢兼而有之。 闡述到位,算法思想、算法實(shí)現(xiàn)和完整示例合理搭配,相輔相成?! ∈纠晟疲瑘D示例分析精準(zhǔn),代碼注釋精確,每段代碼皆可通過(guò)編譯執(zhí)行。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版