【文件属性】:
文件名称:cpp-算法精粹
文件大小:2.7MB
文件格式:PDF
更新时间:2019-10-11 11:41:10
高清版 中文版
仅仅是作为搬运工。
算法精粹——举一反三,抛弃题海战术
本书的目标读者是准备去硅谷找工作的码农,也适用于在国内找工作的码农,以及刚接触ACM算法竞赛的新手。
市场上讲解算法的书已经汗牛充栋,为什么还要写这本书呢?主要原因是我对目前市场上的大部分算法书都不太满意。 本书有如下特色:
背后有强大的AlgoHub支持。
本书的所有题目,都可以在 www.algohub.org(即将上线) 上在线判断代码。这样的一大好处是,读者可以边看书,边实现自己的代码,然后提交到网站上验证自己的想法是否正确。AlgoHub的使命是成为最好的算法学习和交流平台。AlgoHub囊括了 POJ, ZOJ, leetcode, HackerRank 等网站的经典题目(一些质量不高的题目则忽略),且 AlgoHub有非常简单的加题系统,用户不需要写一行代码即可自己添加题目,所以AlgoHub的题库还在飞速增长中。
每道题都有完整的代码。
市场上的大部分书,都会讲思路,但给出的代码都是片段,不是完整可编译的代码。本书每题都有完整的代码,且每个代码经过千锤百炼,保证可读性的前提下尽可能简短,方面读者在面试中能快速写出来。
每道题都有多种解法。
本书的宗旨是,用尽可能少的题目,覆盖尽可能多的算法。本书中的的每道题都有多种解法,每种解法不是简单的小改进,而是完全不同的思路,力求举一反三,让读者触类旁通。
本书支持多种主流编程语言。
目前支持 Java, C++, C#, Python, Ruby, JavaScript, Swift, Scala, Clojure, 将来还会支持更多编程语言。
在线阅读
https://www.gitbook.com/book/soulmachine/algorithm-essentials/
内容目录
介绍
线性表
数组
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Longest Consecutive Sequence
Two Sum
3Sum
3Sum Closest
4Sum
Remove Element
Move Zeroes
Next Permutation
Permutation Sequence
Valid Sudoku
Trapping Rain Water
Rotate Image
Plus One
Climbing Stairs
Set Matrix Zeroes
Gas Station
Candy
Majority Element
Rotate Array
Contains Duplicate
Contains Duplicate II
Contains Duplicate III
Product of Array Except Self
Game of Life
Increasing Triplet Subsequence
单链表
Reverse Linked List
Odd Even Linked List
Add Two Numbers
Reverse Linked List II
Partition List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Rotate List
Remove Nth Node From End of List
Swap Nodes in Pairs
Reverse Nodes in k-Group
Copy List with Random Pointer
Linked List Cycle
Linked List Cycle II
Reorder List
LRU Cache
Palindrome Linked List
字符串
Valid Palindrome
Implement strStr()
String to Integer (atoi)
Add Binary
Longest Palindromic Substring
Regular Expression Matching
Wildcard Matching
Longest Common Prefix
Valid Number
Integer to Roman
Roman to Integer
Count and Say
Anagrams
Valid Anagram
Simplify Path
Length of Last Word
Isomorphic Strings
Word Pattern
栈和队列
栈
Min Stack
Valid Parentheses
Longest Valid Parentheses
Largest Rectangle in Histogram
Evaluate Reverse Polish Notation
Implement Stack using Queues
队列
Implement Queue using Stacks
二叉树
二叉树的遍历
Binary Tree Preorder Traversal
Binary Tree Inorder Traversal
Binary Tree Postorder Traversal
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Binary Tree Right Side View
Invert Binary Tree
Binary Search Tree Iterator
Binary Tree Zigzag Level Order Traversal
Recover Binary Search Tree
Same Tree
Symmetric Tree
Balanced Binary Tree
Flatten Binary Tree to Linked List
Populating Next Right Pointers in Each Node II
二叉树的构建
Construct Binary Tree from Preorder and Inorder Traversal
Construct Binary Tree from Inorder and Postorder Traversal
二叉查找树
Unique Binary Search Trees
Unique Binary Search Trees II
Validate Binary Search Tree
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
LCA of BST
Kth Smallest Element in a BST
二叉树的递归
Minimum Depth of Binary Tree
Maximum Depth of Binary Tree
Path Sum
Path Sum II
Binary Tree Maximum Path Sum
Populating Next Right Pointers in Each Node
Sum Root to Leaf Numbers
LCA of Binary Tree
线段树
Range Sum Query - Mutable
排序
插入排序
Insertion Sort List
归并排序
Merge Two Sorted Arrays
Merge Two Sorted Lists
Merge k Sorted Lists
Sort List
快速排序
Sort Colors
Kth Largest Element in an Array
桶排序
First Missing Positive
计数排序
H-Index
基数排序
Maximum Gap
其他
Largest Number
小结
查找
Search for a Range
Search Insert Position
Search in Rotated Sorted Array
Search in Rotated Sorted Array II
Search a 2D Matrix
Search a 2D Matrix II
Find Minimum in Rotated Sorted Array
Find Minimum in Rotated Sorted Array II
Median of Two Sorted Arrays
H-Index II
暴力枚举法
Subsets
Subsets II
Permutations
Permutations II
Combinations
Letter Combinations of a Phone Number
广度优先搜索
Word Ladder
Word Ladder II
Surrounded Regions
总结
深度优先搜索
Additive Number
Palindrome Partitioning
Unique Paths
Unique Paths II
N-Queens
N-Queens II
Restore IP Addresses
Combination Sum
Combination Sum II
Combination Sum III
Generate Parentheses
Sudoku Solver
Word Search
总结
分治法
Pow(x,n)
Sqrt(x)
贪心法
Jump Game
Jump Game II
Best Time to Buy and Sell Stock
Best Time to Buy and Sell Stock II
Longest Substring Without Repeating Characters
Container With Most Water
Patching Array
动态规划
Triangle
Maximum Subarray
Maximum Product Subarray
Longest Increasing Subsequence
Palindrome Partitioning II
Maximal Rectangle
Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock IV
Best Time to Buy and Sell Stock with Cooldown
Interleaving String
Scramble String
Minimum Path Sum
Edit Distance
Decode Ways
Distinct Subsequences
Word Break
Word Break II
Dungeon Game
House Robber
House Robber II
House Robber III
Range Sum Query - Immutable
Range Sum Query 2D - Immutable
图
Clone Graph
位操作
Reverse Bits
Repeated DNA Sequences
Number of 1 Bits
Gray Code
Single Number
Single Number II
Single Number III
Power of Two
Missing Number
Maximum Product of Word Lengths
Bitwise AND of Numbers Range
Power of Three
Rectangle Area
数论
Happy Number
Ugly Number
Ugly Number II
Super Ugly Number
Fraction to Recurring Decimal
Factorial Trailing Zeroes
Nim Game
模拟
Reverse Integer
Palindrome Number
Insert Interval
Merge Intervals
Minimum Window Substring
Multiply Strings
Substring with Concatenation of All Words
Pascal's Triangle
Pascal's Triangle II
Spiral Matrix
Spiral Matrix II
ZigZag Conversion
Divide Two Integers
Text Justification
Max Points on a Line
Community
QQ 群: 237669375
Github: https://www.github.com/soulmachine/algorithm-essentials
微博: @灵魂机器
License
Book License: CC BY-SA 3.0 License