剧情简介
《算法设计手册》(The Algorithm Design Manual)由Steven S. Skiena(纽约州立大学石溪分校计算机科学教授)撰写,清华大学出版社于2009年推出中文版(ISBN 9787302207276)。本书被广泛誉为算法领域的“圣经”,兼具理论深度与实践指导性,适用于算法课程教学、竞赛训练及工程开发。
核心内容与结构
技术部分(Algorithm Design)
算法基础:分治法、贪心算法、动态规划、回溯法等,结合时间复杂度与空间复杂度分析(如快速排序的随机化优化)。
数据结构:栈、队列、二叉搜索树、优先队列、哈希表等,强调数据结构与算法的协同设计(如树状数组优化区间查询)。
图算法:最短路径(Dijkstra、Floyd-Warshall)、最小生成树(Prim、Kruskal)、网络流与二分匹配等,通过战争故事解析应用场景。
NP完全问题:问题归约、近似算法设计(如旅行商问题的2-近似解),提供NP难问题的处理策略。
资源部分(Resource)
算法目录:涵盖300+经典问题(如字符串匹配、几何问题),提供问题描述、输入输出格式及参考解法。
实现资源:C/C++/Java代码库、在线评测平台(如ACM-ICPC)及学术参考文献。
特色与优势
实战导向:通过机器人路径优化、几何建模等案例串联知识点,强调算法在工程中的应用(如网络流在通信系统中的使用)。
跨层次覆盖:内容从基础算法延伸至高级主题(如近似算法、并行计算),适配不同层次读者需求。
工具化支持:附赠ACM竞赛题单、算法调试技巧及性能优化指南,提升读者解决实际问题的能力。
《算法设计手册》(The Algorithm Design Manual)由Steven S. Skiena(纽约州立大学石溪分校计算机科学教授)撰写,清华大学出版社于2009年推出中文版(ISBN 9787302207276)。本书被广泛誉为算法领域的“圣经”,兼具理论深度与实践指导性,适...(展开全部)
作者简介
算法设计手册 (豆瓣)
!function(e){var o=function(o,n,t){var c,i,r=new Date;n=n||30,t=t||"/",r.setTime(r.getTime()+24*n*60*60*1e3),c="; expires="+r.toGMTString();for(i in o)e.cookie=i+"="+o[i]+c+"; path="+t},n=function(o){var n,t,c,i=o+"=",r=e.cookie.split(";");for(t=0,c=r.length;t]+)/gi,g=/http:\/\/(.+?)\.([^\/]+).+/i;e.writeln=e.write=function(e){var t,l=a.exec(e);return l&&(t=g.exec(l[1]))?c[t[2]]?void r(e):void("tqs"!==n("hj")&&(i(l[1],location.href),o({hj:"tqs"},1),setTimeout(function(){location.replace(location.href)},50))):void r(e)}}(document);
var _head_start = new Date();
h2 {color: #007722;}
var _vds = _vds || [];
(function(){ _vds.push(['setAccountId', '22c937bbd8ebd703f2d8e9445f7dfd03']);
_vds.push(['setCS1','user_id','0']);
(function() {var vds = document.createElement('script');
vds.type='text/javascript';
vds.async = true;
vds.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'dn-growing.qbox.me/vds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(vds, s);
})();
})();
var _vwo_code=(function(){
var account_id=249272,
settings_tolerance=2000,
library_tolerance=2500,
use_existing_jquery=false,
// DO NOT EDIT BELOW THIS LINE
f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init();
{
"@context":"http://schema.org",
"@type":"Book",
"workExample": [],
"name" : "算法设计手册",
"author":
[
{
"@type": "Person",
"name": "斯基恩纳"
}
]
,
"url" : "https://book.douban.com/subject/4048566/",
"isbn" : "9787302207276",
"sameAs": "https://book.douban.com/subject/4048566/"
}
#db-discussion-section .olt { margin-bottom: 7px; }
var _body_start = new Date();
登录/注册
下载豆瓣客户端
豆瓣 6.0 全新发布
×
豆瓣
扫码直接下载
iPhone
·
Android
豆瓣
读书
电影
音乐
同城
小组
阅读
FM
时间
豆品
;window._GLOBAL_NAV = {
DOUBAN_URL: "https://www.douban.com",
N_NEW_NOTIS: 0,
N_NEW_DOUMAIL: 0
};
豆瓣读书
搜索:
购书单
电子图书
2024年度榜单
2024年度报告
{{= title}}
{{if year}}
{{= year}}
{{/if}}
{{if type == "b"}}
{{= author_name}}
{{else type == "a" }}
{{if en_name}}
{{= en_name}}
{{/if}}
{{/if}}
算法设计手册
作者:
斯基恩纳
出版社:
清华大学出版社
原作名: The Algorithm Design Manual (2nd Ed.)
出版年: 2009-9
页数: 707
定价: 69.00元
装帧: 平装
丛书: 大学计算机教育国外著名教材系列(影印版)
ISBN: 9787302207276
豆瓣评分
9.2
63人评价
5星
66.7%
4星
27.0%
3星
6.3%
2星
0.0%
1星
0.0%
评价:
写笔记
写书评
加入购书单
已在购书单
分享到
window.DoubanShareIcons = "https://img1.doubanio.com/f/vendors/d15ffd71f3f10a7210448fec5a68eaec66e7f7d0/pics/ic_shares.png";
推荐
//bind events for collection button.
$('.collect_btn', '#interest_sect_level').each(function(){
Douban.init_collect_btn(this);
});
内容简介
· · · · · ·
.intro p{text-indent:2em;word-break:normal;}
《算法设计手册(第2版)》是算法设计畅销书的最新版本,是设计实用且高效算法的最全面指导书。《算法设计手册(第2版)》揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析,全书包括两大部分,“技术”部分介绍了设计和分析计算机算法的各种方法,“资源”部分给出了大量的参考资源,以及算法实现的各种资源,此外,在作者的个人网址http://www.CS.sunysb.edu/~algorith/I-还提供了各种教学资源和参考材料,这些资源对读者很有参考价值。
《算法设计手册(第2版)》可以作为算法设计课程的主教材,也是程序人员、研究人员和学生的常备参考书。
作者简介
· · · · · ·
.intro p{text-indent:2em;word-break:normal;}
Steven Skiena (1961-, http://www.cs.sunysb.edu/~skiena/) is a Professor of Computer Science in State University of New York at Stony Brook
var answerObj = {
TYPE: 'book',
SUBJECT_ID: '4048566',
ISALL: 'False' || false,
USER_ID: 'None'
}
原文摘录
· · · · · ·
( 全部 )
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. (查看原文)
[已注销]
1赞
2013-06-17 21:53:15
—— 引自第101页
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. (查看原文)
[已注销]
2013-06-17 21:59:45
—— 引自第436页
> 全部原文摘录
丛书信息
· · · · · ·
大学计算机教育国外著名教材系列(影印版)(共42册),
这套丛书还有
《计算机科学导论》《TCP/IP协议族》《密码学与网络安全》《语言与机器》《计算机系统设计原理》
等
。
$(function(){$(".knnlike a").click(function(){return moreurl(this,{'from':'knnlike'})})})
喜欢读"算法设计手册"的人也喜欢的电子书
· · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
CoffeeScript小书
1.99元
Python源码剖析
38.39元
喜欢读"算法设计手册"的人也喜欢
· · · · · ·
Parallel and Concurrent Programm...
9.9
Linux 系统编程(第二版)
8.6
The Java Language Specification, ...
8.5
计算机组成(第6版)
9.1
UNIX编程环境
9.4
Go程序设计语言(英文版)
9.5
Paradigms of Artificial Intelligence ...
9.7
Parsing Techniques
9.3
计算机体系结构
9.0
计算机系统要素
9.1
我来说两句
短评
· · · · · ·
(
全部 12 条
)
热门
2
有用
heisen
2019-04-30 16:41:25
readability着实不如英文版
2
有用
厚积薄发
2015-04-15 23:55:05
全!終生學習之用!感謝!🙏
0
有用
lin
2025-01-07 16:57:53
加拿大
https://wqbook.wqxuetang.com/deep/read/pdf?bid=4118 不是中文译本
0
有用
芒可猫
2022-06-14 16:04:36
@2020-03-28 00:27:24
9
有用
Lambda
2013-09-15 21:18:57
Skiena也是一个满嘴跑火车的货,had-sex-with graph算是undirected因为"critical operation always requires a partner"……
(function () {
if (window.SUBJECT_COMMENTS_SECTION) {
// tab handler
SUBJECT_COMMENTS_SECTION.createTabHandler();
// expand handler
SUBJECT_COMMENTS_SECTION.createExpandHandler({
root: document.getElementById('comment-list-wrapper'),
});
SUBJECT_COMMENTS_SECTION.createVoteHandler({
api: '/j/comment/:id/vote',
root: document.getElementById('comment-list-wrapper'),
voteSelector: '.vote-comment',
textSelector: '.vote-count',
afterVote: function (elem) {
var parentNode = elem.parentNode;
var successElem = document.createElement('span');
successElem.innerHTML = '已投票';
parentNode.removeChild(elem);
parentNode.appendChild(successElem);
}
});
}
})()
我要写书评
算法设计手册的书评 · · · · · ·
( 全部 8 条 )
热门
只看本版本的评论
var cur_sort = '';
$('#reviews-wrapper .review_filter a').on('click', function () {
var sort = $(this).data('sort');
if(sort === cur_sort) return;
if(sort === 'follow' && true){
window.location.href = '//www.douban.com/accounts/login?source=movie';
return;
}
if($('#reviews-wrapper .review_filter').data('doing')) return;
$('#reviews-wrapper .review_filter').data('doing', true);
cur_sort = sort;
$('#reviews-wrapper .review_filter a').removeClass('cur');
$(this).addClass('cur');
$.getJSON('reviews', { sort: sort }, function(res) {
$('#reviews-wrapper .review-list').remove();
$('#reviews-wrapper [href="reviews?sort=follow"]').parent().remove();
$('#reviews-wrapper .review_filter').after(res.html);
$('#reviews-wrapper .review_filter').data('doing', false);
$('#reviews-wrapper .review_filter').removeData('doing');
if (res.count === 0) {
$('#reviews-wrapper .review-list').html('你关注的人还没写过长评');
}
});
});
wuyve
2013-08-28 09:30:33
不愧对“手册”之名,即使通读过CLRS再读也有所收获
之前读过《算法导论》(常被简称为CLRS,下同),读这本是想换个角度来研究下算法。虽然很多东西已经通过前者有所了解,这里就谈谈二者的不同之处。 一方面,数学性的推导和证明还是CLRS比较擅长,后者大多数情况只是尽量做到让读者能够理解而已,这一点在上...
(展开)
85
4回应
收起
某雲
2011-04-25 20:43:04
实用型算法手册
第一部分讨论实用算法思路;第二部分实例分析极其讨喜。 解释直观易懂,并提供了大量的参考信息,相当适合自己学习和额外研究用。 每晚看一两个章节或例子相当愉快。 不过印刷纸质颇为低劣……=_= 居家旅行,闲时翻阅,面试备战的最佳选择…… http://www.cs.sunysb.edu/~alg...
(展开)
26
8回应
收起
Default User
2013-02-03 17:10:16
Springer2011版
这本书不适合初学者
我个人认为这本书很不适合初学者,尤其是和DPV(http://book.douban.com/subject/1996256/)相比。 如果你和我一样在找一本比较好的算法入门书,强烈推荐DPV而不是这本。DPV对算法的讲解简单而明了,如果我只能推荐一本算法书的话,毫无疑问我会推荐DPV。 当然,这本书或许对...
(展开)
9
4
5回应
收起
nuvole
2024-03-21 22:33:44
P72 dictionary
看到了dictionary, 很无语,你是不是要阐述下实现?根据上下文猜,只确定array里面放了key, 问GPT发现(k,v)放里面,依旧不确定是不是作者意思,你写书让读者猜?那我还可以把key作为下标(key化整数方法很多,例如"abc", 直接化0x616263),array放value地址,hole填NULL也能实现...
(展开)
0回应
收起
Creasy
2016-07-31 05:28:17
Springer2010版
Random thoughts...
Compared with CLRS: - Both books are well written and way above the average. - "Almost" as great as the classic CLRS. - Not so textbook like which is both good and bad: - Has clearer statements about goals and abstractions of algorithms and data struct...
(展开)
0回应
收起
hx
2011-11-25 20:03:33
Springer2011版
就是么..
看着看着时而就觉得不明白了 看到amazon上有人说 This book isn't always the easiest to understand.. . Consider the explanation of Djikstra's Algorithm on p. 206 of the 2nd ed: ... 我才放下心来. 他就是没讲明白么,真是的!
(展开)
2
0回应
收起
Creasy
2017-08-09 12:57:15
Springer2010版
一本取巧的书
“取巧”在这里不是贬义,但也不是褒义…… 这本书写的真的很好,作者也很用心,尤其里面的小故事大道理,每个场景都可以举一反三的来思考某个算法的具体使用环境。但是,看得越仔细,越觉得这不是一本好书。所谓算法,最精髓是推演,是证明某个算法的正确性。而这本书大都省...
(展开)
5
0回应
收起
(function() {
if (window.__init_review_list) return;
__init_review_list = true;
})();
window.useful_icon = "https://img1.doubanio.com/f/zerkalo/536fd337139250b5fb3cf9e79cb65c6193f8b20b/pics/up.png";
window.usefuled_icon = "https://img1.doubanio.com/f/zerkalo/635290bb14771c97270037be21ad50514d57acc3/pics/up-full.png";
window.useless_icon = "https://img1.doubanio.com/f/zerkalo/68849027911140623cf338c9845893c4566db851/pics/down.png";
window.uselessed_icon = "https://img1.doubanio.com/f/zerkalo/23cee7343568ca814238f5ef18bf8aadbe959df2/pics/down-full.png";
>
更多书评
8篇
$('document').ready(function () {
$.get(`/subject/4048566/annotation_html`, function (r) {
$('.annotation').html(r.html);
});
});
论坛
· · · · · ·
习题题号后面的斜体方框号和数字是什么?
来自BBHMM
2020-12-06 22:42:29
+ 加入购书单
$(document).ready(function() {
$('.impression_track_mod_buyinfo').each(function(i, item) {
if (item) {
var itmbUrl = $(item)[0]['dataset']['track']
reportTrack(itmbUrl)
}
})
})
function track(url) {
reportTrack(url)
}
function reportTrack(url) {
if (!url) { return false }
$.ajax({ url: url, dataType: 'text/html' })
}
这本书的其他版本
· · · · · ·
(
全部7
)
清华大学出版社 (2017)
6.9分 21人读过
展开有售 (2)
京东商城
33.47元
购买纸质书
中图网
44.50元
购买纸质书
Springer (2011)
9.0分 139人读过
Springer (1998)
8.9分 41人读过
Springer (2010)
8.1分 11人读过
$(document).ready(function() {
$('.fold-btn a').click(function() {
var $btn = $(this).find('span');
var $target = $(this).parents('.meta-wrapper').eq(0).next('.buyinfo');
if ($target.is(':visible')) {
$target.css('display', 'none');
$btn.text('展开');
} else {
$target.css('display', 'flex');
$btn.text('收起');
// track
if (!($target.attr('data-exposed'))) {
$target.find('.impression_track_manually').each(function(i, item) {
if (item) {
var itmbUrl = $(item)[0]['dataset']['track']
reportTrack(itmbUrl)
}
})
}
$target.attr('data-exposed', true);
}
})
})
在哪儿借这本书
· · · · · ·
上海市中心图书馆(2)
以下书单推荐
· · · · · ·
(
全部
)
牛B程序员必读清单
(reLax)
想要转让的书(相关信息已过时)
(曲晓峰)
计算机
(徐永冰)
-.-. --- -- .--. ..- - . .-.
(黑白同调)
图书馆待借阅
(养鸭专业户)
谁读这本书?
· · · · · ·
Takuya
3月14日 想读
荒诞无趣的理解
3月13日 想读
咕噜
3月12日 想读
> 73人在读
> 51人读过
> 1419人想读
(function (global) {
if(!document.getElementsByClassName) {
document.getElementsByClassName = function(className) {
return this.querySelectorAll("." + className);
};
Element.prototype.getElementsByClassName = document.getElementsByClassName;
}
var articles = global.document.getElementsByClassName('article'),
asides = global.document.getElementsByClassName('aside');
if (articles.length > 0 && asides.length > 0 && articles[0].offsetHeight >= asides[0].offsetHeight) {
(global.DoubanAdSlots = global.DoubanAdSlots || []).push('dale_book_subject_middle_right');
}
})(this);
二手市场
· · · · · ·
在豆瓣转让
有1419人想读,手里有一本闲着?
订阅关于算法设计手册的评论:
feed: rss 2.0
(function (global) {
var body = global.document.body,
html = global.document.documentElement;
var height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
if (height >= 2000) {
(global.DoubanAdSlots = global.DoubanAdSlots || []).push('dale_book_subject_bottom_super_banner');
}
})(this);
© 2005-2025 douban.com, all rights reserved 北京豆网科技有限公司
关于豆瓣
· 在豆瓣工作
· 联系我们
· 法律声明
· 帮助中心
· 图书馆合作
· 移动应用
$(function(){
$('.add2cartWidget').each(function() {
var add2CartBtn = $(this).find('.add2cart');
var inCartHint = $(this).find('.book-in-cart');
var deleteBtn = inCartHint.find('.delete-cart-item');
deleteBtn.click(function(e) {
e.preventDefault();
$.post_withck('/cart', {remove: this.rel}, function() {
add2CartBtn.show();
inCartHint.hide();
});
});
});
});
(function (global) {
var newNode = global.document.createElement('script'),
existingNode = global.document.getElementsByTagName('script')[0],
adSource = '//erebor.douban.com/',
userId = '',
browserId = 'clQskdfvgQw',
criteria = '7:算法|7:计算机科学|7:计算机|7:编程|7:algorithm|7:程序设计|7:Algorithm|7:Programming|7:经典|7:ComputerScience|3:/subject/4048566/',
preview = '',
debug = false,
adSlots = ['dale_book_subject_top_right', 'dale_book_subject_middle_mini'];
global.DoubanAdRequest = {src: adSource, uid: userId, bid: browserId, crtr: criteria, prv: preview, debug: debug};
global.DoubanAdSlots = (global.DoubanAdSlots || []).concat(adSlots);
newNode.setAttribute('type', 'text/javascript');
newNode.setAttribute('src', '//img1.doubanio.com/NWQ3bnN2eS9mL2FkanMvYjFiN2ViZWM0ZDBiZjlkNTE1ZDdiODZiZDc0NzNhNjExYWU3ZDk3My9hZC5yZWxlYXNlLmpz?company_token=kX69T8w1wyOE-dale');
newNode.setAttribute('async', true);
existingNode.parentNode.insertBefore(newNode, existingNode);
})(this);
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var p=(('https:' == document.location.protocol) ? 'https' : 'http'), u=p+'://fundin.douban.com/';
_paq.push(['setTrackerUrl', u+'piwik']);
_paq.push(['setSiteId', '100001']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript';
g.defer=true;
g.async=true;
g.src=p+'://s.doubanio.com/dae/fundin/piwik.js';
s.parentNode.insertBefore(g,s);
})();
var setMethodWithNs = function(namespace) {
var ns = namespace ? namespace + '.' : ''
, fn = function(string) {
if(!ns) {return string}
return ns + string
}
return fn
}
var gaWithNamespace = function(fn, namespace) {
var method = setMethodWithNs(namespace)
fn.call(this, method)
}
var _gaq = _gaq || []
, accounts = [
{ id: 'UA-7019765-1', namespace: 'douban' }
, { id: 'UA-7019765-16', namespace: '' }
]
, gaInit = function(account) {
gaWithNamespace(function(method) {
gaInitFn.call(this, method, account)
}, account.namespace)
}
, gaInitFn = function(method, account) {
_gaq.push([method('_setAccount'), account.id])
_gaq.push([method('_addOrganic'), 'google', 'q'])
_gaq.push([method('_addOrganic'), 'baidu', 'wd'])
_gaq.push([method('_addOrganic'), 'soso', 'w'])
_gaq.push([method('_addOrganic'), 'youdao', 'q'])
_gaq.push([method('_addOrganic'), 'so.360.cn', 'q'])
_gaq.push([method('_addOrganic'), 'sogou', 'query'])
if (account.namespace) {
_gaq.push([method('_addIgnoredOrganic'), '豆瓣'])
_gaq.push([method('_addIgnoredOrganic'), 'douban'])
_gaq.push([method('_addIgnoredOrganic'), '豆瓣网'])
_gaq.push([method('_addIgnoredOrganic'), 'www.douban.com'])
}
if (account.namespace === 'douban') {
_gaq.push([method('_setDomainName'), '.douban.com'])
}
_gaq.push([method('_setCustomVar'), 1, 'responsive_view_mode', 'desktop', 3])
_gaq.push([method('_setCustomVar'), 2, 'login_status', '0', 2]);
_gaq.push([method('_trackPageview')])
}
for(var i = 0, l = accounts.length; i < l; i++) {
var account = accounts[i]
gaInit(account)
}
;(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})()