C#程式設計師面試算法寶典

《C#程式設計師面試算法寶典》是2020年機械工業出版社出版的圖書。

基本介紹

  • 中文名:C#程式設計師面試算法寶典
  • 作者:趙大有
  • 出版時間:2020年
  • 出版社機械工業出版社
  • ISBN:9787111651536
內容簡介,圖書目錄,作者簡介,

內容簡介

《C#程式設計師面試算法寶典》是一本講解程式設計師面試筆試算法的書籍,代碼採用C#語言進行編寫,在寫法上,除了講解如何解答算法問題以外,還引入了實例輔以說明,讓讀者能夠更加容易地理解。
《C#程式設計師面試算法寶典》將程式設計師面試筆試過程中典型算法類真題盡收囊中,在題目的廣度上,通過各種渠道,蒐集了近3年來幾乎所有IT企業面試筆試算法高頻題目,所選擇題目均為企業招聘使用的真題。在題目的深度上,本書由淺入深,細緻地分析每一個題目,並提煉歸納。本書結構合理,條理清晰,對於讀者進行學習與檢索意義重大。
《C#程式設計師面試算法寶典》可作為計算機相關專業畢業生面試筆試的求職用書,也可以作為本科生、研究生學習數據結構與算法的輔導書籍,同時也適合期望在計算機軟硬體行業大顯身手的計算機愛好者閱讀。

圖書目錄

前言
面試筆試經驗技巧篇
經驗技巧1 如何巧妙地回答面試官的問題2
經驗技巧2 如何回答技術性的問題3
經驗技巧3 如何回答非技術性問題5
經驗技巧4 如何回答快速估算類問題5
經驗技巧5 如何回答算法設計問題6
經驗技巧6 如何回答系統設計題9
經驗技巧7 如何解決求職中的時間衝突問題11
經驗技巧8 如果面試問題曾經遇見過,是否要告知12
經驗技巧9 被企業拒絕後是否可以再申請13
經驗技巧10 如何應對自己不會回答的問題13
經驗技巧11 如何應對面試官的“激將法”語言14
經驗技巧12 如何處理與面試官持不同觀點的問題15
經驗技巧13 什麼是職場暗語15
面試筆試真題解析篇
第1章 鍊表21
1.1 如何實現鍊表的逆序22
1.2 如何從無序鍊表中移除重複項26
1.3 如何計算兩個單鍊表所代表的數之和30
1.4 如何對鍊表進行重新排序33
1.5 如何找出單鍊表中的倒數第k個元素36
1.6 如何檢測一個較大的單鍊表是否有環40
1.7 如何把鍊表相鄰元素翻轉43
1.8 如何把鍊表以k個結點為一組進行翻轉45
1.9 如何合併兩個有序鍊表48
1.10 如何在只給定單鍊表中某個結點的指針的情況下刪除該結點51
1.11 如何判斷兩個單鍊表(無環)是否交叉53
第2章 棧與佇列57
2.1 如何實現棧57
2.2 如何實現佇列62
2.3 如何翻轉棧的所有元素68
2.4 如何根據入棧序列判斷可能的出棧序列72
2.5 如何用O(1)的時間複雜度求棧中最小元素74
2.6 如何用兩個棧模擬佇列操作76
2.7 如何設計一個排序系統77
2.8 如何實現LRU快取方案79
2.9 如何從給定的車票中找出旅程的路線81
2.10 如何從數組中找出滿足a+b=c+d的兩個數對83
第3章 二叉樹86
3.1 二叉樹基礎知識86
3.2 如何把一個有序整數數組放到二叉樹中88
3.3 如何從頂部開始逐層遍歷二叉樹結點數據90
3.4 如何求一棵二叉樹的最大子樹的和92
3.5 如何判斷兩棵二叉樹是否相等94
3.6 如何把二叉樹轉換為雙向鍊表95
3.7 如何判斷一個數組是否是二元查找樹後序遍歷的序列97
3.8 如何找出排序二叉樹上任意兩個結點的最近共同父結點99
3.9 如何複製二叉樹105
3.10 如何在二叉樹中找出與輸入整數相等的所有路徑106
3.11 如何對二叉樹進行鏡像反轉108
3.12 如何在二叉排序樹中找出第一個大於中間值的結點110
3.13 如何在二叉樹中找出路徑最大的和113
3.14 如何實現反向DNS查找快取115
第4章 數組119
4.1 如何找出數組中唯一的重複元素119
4.2 如何查找數組中元素的最大值和最小值126
4.3 如何找出旋轉數組的最小元素130
4.4 如何找出數組中出現奇數次的數133
4.5 如何找出數組中第k小的數136
4.6 如何求數組中兩個元素的最小距離140
4.7 如何求解最小三元組距離142
4.8 如何求數組中絕對值最小的數147
4.9 如何求數組連續最大和151
4.10 如何找出數組中出現1次的數155
4.11 如何在不排序的情況下求數組中的中位數158
4.12 如何求集合的所有子集159
4.13 如何對數組進行循環移位163
4.14 如何求解迷宮問題166
4.15 如何求解數組分為和相等的m份後m最大值問題168
4.16 如何求一個數組的最長遞減子序列170
4.17 如何求解和為n的連續正數序列173
4.18 如何尋找醜數175
4.19 如何找到數組元素連線起來排成的所有數字中最小的一個178
4.20 如何找出數組中出現次數超過了一半的那個數字179
4.21 如何找出數組中左邊的數都小於等於它,右邊的數都大於等於它的數180
4.22 如何進行大整數相乘182
4.23 如何求集合的所有子集184
4.24 如何知道拿走了哪個數186
4.25 如何求解n-m問題187
4.26 如何求2個有序數組合併後的中位數188
4.27 如何找出n個整數中最小的k個數190
4.28 如何求解數組中逆序對的個數192
4.29 如何找出數組的峰值194
4.30 如何找出數組中的乘積最大子序列195
4.31 如何對數組進行旋轉196
4.32 如何求數組的最大子數組差199
4.33 如何統計比給定整數小的數的個數201
4.34 如何進行搖擺排序203
4.35 如何求解數組排序前後最大的間隔204
4.36 如何找出和最接近0的子數組206
4.37 如何找出數組中和為指定值的四元組208
4.38 如何計算買股票的最佳時間210
4.39 如何確定出發加油站問題211
第5章 字元串213
5.1 如何求一個字元串的所有排列213
5.2 如何求兩個字元串的最長公共子串219
5.3 如何判斷兩個字元串是否為換位字元串222
5.4 如何判斷兩個字元串的包含關係224
5.5 如何對由大小寫字母組成的字元數組排序227
5.6 如何消除字元串的內嵌括弧228
5.7 如何判斷字元串是否是整數229
5.8 如何實現字元串的匹配232
5.9 如何求字元串的編輯距離236
5.10 如何查找到達目標詞的最短鏈長度238
5.11 如何左旋轉字元串241
5.12 如何在一個字元串中找到第一個只出現一次的字元242
5.13 如何找出字元串中連續最長的數字串243
5.14 如何進行字元串的串聯244
5.15 如何從一個字元串中刪除另一個字元串的所有的字元246
5.16 如何判斷字元串A中是否包含由字元串B中字

作者簡介

趙大有,北京郵電大學軟體工程碩士,曾負責國家211重點大學海量資源儲存,搭建了大型分散式存儲系統,現就職於途家網負責高並發庫存、產品體系搭建與維護、複雜業務服務體系系統的搭建與維護工作,對.Net、Java有深刻認識,善於組織協調解決問題,具有豐富的項目經驗。

相關詞條

熱門詞條

聯絡我們