Steven Skiena (1961-, http://www.cs.sunysb.edu/~skiena/) is a Professor of Computer Science in State University of New York at Stony Brook
AI导读
核心看点
作者获IEEE教学奖,内容直观易懂
侧重实用算法设计与工程实现细节
包含大量面试真题与解题策略指导
读者共识
面试刷题利器,讲解生动不装逼
不适合初学者,但胜在实用接地气
动态规划与回溯章节评价极高
精彩摘录
"Typical computer science students study the basic sorting algorithms at least three times before they graduate: first in introductory programming, then in data structures, and finally in their algorithms course."
"When you have morethan 100 items to sort, it is important to use an O(nlgn)-time algorithm like heapsort, quicksort, or mergesort. ... Once you get past (say) 5,000,000 items, it is important to start thinking about external-memory sorting algorithms that minimize disk access."
"If you are determined to implement your own quicksort, use the following heuristics, which make a big difference in practice: * Use ranomization * Median of three * Leave small subarrays for insertion sort * Do the smaller partition first"