拥有 算法 标签的文章 共 18 条数据

数据结构与算法经典问题解析:Java语言描述(原书第2版) PDF下载
编程书籍

数据结构与算法经典问题解析:Java语言描述(原书第2版) PDF下载

45次浏览 0条评论

本书是一本数据结构方面的优秀教材,以Java为描述语言,介绍了计算机编程中使用的数据结构和算法。本书强调问题及其分析,而非理论阐述,共分为21章,讲述了基本概念、递归和回溯、链表、栈、队列、树、优先队列和堆、并查集DAT、图算法、排序、查找、选择算法(中位数)、符号表、散列、字符串算法、算法设计技术、贪婪算法、分治算法、动态规划算法、复杂度类型等内容。每章首先阐述必要的理论基础,然后给出问题集。全书中大约有700个算法问题及相应的解法,对于许多问题,本书提供了多个具有不同复杂度的解决方法。本书可作为高等院校计算机及其相关专业的数据结构课程的教材或教学参考书,同时也可以作为从事计算机研究与开发的技术人员的参考书,特别是对正在准备面试、参加选拔性考试以及校园面试的读者尤为有用。译者序 前言 第1章绪论1 1.1变量1 1.2数据类型1 1.3数据结构2 1.4抽象数据类型2 1.5什么是算法3 1.6为什么需要算法分析3 1.7算法分析的目的3 1.8什么是运行时间分析4 1.9如何比较算法4 1.10什么是增长率4 1.11常用的增长率4 1.12分析的类型5 1.13渐近表示6 1.1

图灵程序设计丛书《挑战编程技能:57道程序员功力测试题》高清文字版PDF下载
编程书籍

图灵程序设计丛书《挑战编程技能:57道程序员功力测试题》高清文字版PDF下载

93次浏览 0条评论

新手程序员在具备了理论基础后,面对实际项目时,往往不知道如何解决问题;有经验的程序员在学习了一门新语言后,也会有很多不知道如何使用的特性。针对程序员的这一普遍困惑,资深软件工程师Brian P. Hogan在这本书中总结了57道练习题,教他们如何锤炼技能。这些练习题的难度会逐渐增加,使得编程训练充满挑战又乐趣多多。第 1 章 将问题转变成代码 第 2 章 输入、处理和输出 第 3 章 计算 第 4 章 作出决策 第 5 章 函数 第 6 章 重复 第 7 章 数据结构 第 8 章 使用文件 第 9 章 使用外部服务 第 10 章 完整的程序

Java数据结构和算法(第二版)PDF下载
编程书籍

Java数据结构和算法(第二版)PDF下载

68次浏览 0条评论

《Java数据结构和算法》(第2版)以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。 《Java数据结构和算法》(第2版)提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经验丰富的作者RorbertLafore先生提供了许多简单明了的例子,避免了对于这类例题常见的冗长、繁锁的数学证明。在第二版中,他利用Java语言最新特性,修改并扩充了他的例子。在每一章后都有问题和练习,使读者有机会测试自己的理解程度。出版说明献词简介第1章 综述数据结构和算法能起到什么作用?数据结构的概述算法的概述一些定义面向对象编程软件工程对于C++程序员的JavaJava数据结构的类库小结问题第2章 数组Array专题AppletJava中数组的基础知识将程序划分成类类接口Ordered专题applet有序数组的Java代码对数存储对象大O表示法为什么不用数组表示一切?小结问题实验编程作业

算法技术手册(原书第2版) PDF下载
编程书籍

算法技术手册(原书第2版) PDF下载

87次浏览 0条评论

本书使用实际代码而非伪代码来描述算法,并以经验主导支撑数学分析,侧重于应用且规范严谨。本书提供了用多种程序设计语言实现的文档化的实际代码解决方案,还介绍了近40种核心算法,其中包括用于计算点集的Voronoi图的Fortune算法、归并排序、多线程快速排序、AVL平衡二叉树实现以及空间算法。前言 第1章用算法的眼光去看问题 1.1理解问题 1.2简单解法 1.3高明做法 1.4总结 1.5参考文献 第2章算法的数学原理 2.1问题样本的规模 2.2函数的增长率 2.3最好、最坏和平均情况下的性能分析 2.4性能指标 2.5基准测试 2.6参考文献 第3章算法基础 3.1算法模板的格式 3.2伪代码模板的格式 3.3实验评估的格式 3.4浮点计算 3.5算法举例 3.6常用方法 3.7参考文献 第4章排序算法 4.1概述 4.2移位排序 4.3选择排序 4.4堆排序 4.5基于分区的排序算法 4.6不基于比较的排序算法 4.7桶排序 4.8使用额外存储空间的排序算法 4.9字符串基准测试结果 4.10分析技术 4.11参考文献 第5章搜索算法 5.1顺序搜索 5.2二分搜索 5.3散列搜

图灵原创经典《啊哈!算法》高清PDF下载
编程书籍

图灵原创经典《啊哈!算法》高清PDF下载

115次浏览 0条评论

这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。本书中涉及到的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及到的算法有排序、枚举、深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、割点与割边算法、二分图的最大匹配算法等。网名啊哈磊。曾在中科院玩过单片机。武汉大学历史上第一位以本科生身份加入MSRA(微软亚洲研究院)的小伙伴,在机器学习组从事搜索引擎方面的研究。发表国际会议论文一篇(IEEE)。全国青少年信息学奥林匹克金牌教练。超萌超简洁的C语言编译器——“啊哈C编译器”作者。2013年我的著作,有趣的编程科普书《啊哈C!》出版。网址:www.ahalei.com微博:weibo.com/ahalei非常喜欢小朋友,每天都过得都非常开心。至于为什么叫“啊哈磊”,因为

算法心得:高效算法的奥秘(原书第2版) PDF下载
编程书籍

算法心得:高效算法的奥秘(原书第2版) PDF下载

114次浏览 0条评论

在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。本书较第1版增补了大量内容新增了循环冗余校验(CRC)一章,其中讲解了常用的CRC-32校验码新增了纠错码(ECC)一章,其中讲解了汉明码详解了除数为常数的整数除法,增补了仅含移位操作和加法操作的算法不计算商而直接求余数扩充了与种群计数和前导0计数有关的知识数组种群计数执行压缩与扩展操作的新算法LRU算法浮点数与整数互化估算浮点数的平方根倒数一系列离散函数图像各章均配有习题与参考答案译者序 序(第1版序) 前言 第1章概述 1.1记法 1.2指令集与执行时间模型 1.3习题 第2章基础知识 2.1操作最右边的位元 2.1.1德摩根定律的推论 2.1.2从右至左的可计算性测试 2.1.3位操作的新式用法 2.2结合逻辑操作的加减运算 2.3逻辑与算术表达式中的不等式 2.4绝对值函

图灵程序设计丛书《学习JavaScript数据结构与算法(第2版)》高清文字版PDF下载
编程书籍

图灵程序设计丛书《学习JavaScript数据结构与算法(第2版)》高清文字版PDF下载

72次浏览 0条评论

本书首先介绍了JavaScript 语言的基础知识以及ES6 和ES7 中引入的新功能,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序、顺序搜索、二分搜索,然后介绍了动态规划和贪心算法等常用的高级算法以及函数式编程,最后还介绍了如何计算算法的复杂度。第1章 JavaScript简介  1 1.1 JavaScript数据结构与算法  1 1.2 环境搭建  2 1.2.1 最简单的环境搭建  2 1.2.2 使用Web服务器(XAMPP)  4 1.2.3 使用Node.js搭建Web服务器  5 1.3 JavaScript基础  6 1.3.1 变量  7 1.3.2 操作符  9 1.3.3 真值和假值  11 1.3.4 相等操作符(==和===)  12 1.4 控制结构  14 1.4.1 条件语句  14 1.4.2 循环  15 1.5 函数  16 1.6 JavaScript面向对象编程  17 1.7 调试工具  18 1

图灵原创 《算法的乐趣》高清文字版PDF下载
编程书籍

图灵原创 《算法的乐趣》高清文字版PDF下载

113次浏览 0条评论

算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;音频播放器跳动的实时频谱背后是离散傅立叶变换算法;DOS时代著名的PCX图像文件格式使用的是简单有效的RLE压缩算法;RSA加密算法的光环之下是朴实的欧几里德算法、蒙哥马利算法和米勒-拉宾算法;井字棋、黑白棋、五子棋和俄罗斯方块游戏背后是各种有趣的AI算法;华容道游戏求解的简单穷举算法中还蕴藏着对棋盘状态的哈希算法;遗传算法神秘不可测,但用遗传算法求解0-1背包问题只用了60多行代码……一本书带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。第1章 程序员与算法  1 1.1 什么是算法  2 1.2 程序员必须要会算法吗  2 1.2.1 一个队列引发的惨案  3 1.2.2 我的第一个算法  5 1.3 算法的乐趣在哪里  7 1.4 算法与代码  8 1.5 总结  9 1.6 参考资料  9 第2章 算法设计的基础  10 2.1 程序的基本结构  10 2.1.1 顺序执行  10 2.

图灵程序设计丛书《高效算法:竞赛、应试与提高必修128例》高清文字版PDF下载
编程书籍

图灵程序设计丛书《高效算法:竞赛、应试与提高必修128例》高清文字版PDF下载

242次浏览 0条评论

本书旨在探讨如何优化算法效率,详细阐述了经典算法和特殊算法的实现、应用技巧和复杂度验证过程,内容由浅入深,能帮助读者快速掌握复杂度适当、正确率高的高效编程方法以及自检、自测技巧,是参加ACM/ICPC、Google Code Jam 等国际编程竞赛、备战编程考试、提高编程效率、优化编程方法的参考书目。第1章 引言  11.1 编程竞赛  11.1.1 线上学习网站  31.1.2 线上裁判的返回值  41.2 我们的选择:Python  51.3 输入输出  61.3.1 读取标准输入  61.3.2 显示格式  91.4 复杂度  91.5 抽象类型和基本数据结构  111.5.1 栈  111.5.2 字典  121.5.3 队列  121.5.4 优先级队列和最小堆  131.5.5 并查集  161.6 技术  181.6.1 比较  181.6.2 排序  181.6.3 扫描  191.6.4 贪婪算法  201.6.5 动态规划算法  201.6.6 用整数编码集合  211.6.7 二分查找  231.7 建议  251.8 走得更远  27第2章 字符串  282.1

ACM国际大学生程序设计竞赛 知识与入门 俞勇著 完整版PDF下载
编程书籍

ACM国际大学生程序设计竞赛 知识与入门 俞勇著 完整版PDF下载

403次浏览 0条评论

《ACM国际大学生程序设计竞赛:算法与实现》内容简介:ACM国际大学生程序设计竞赛(ACM-ICPC)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。《ACM国际大学生程序设计竞赛:算法与实现》作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将ACM-ICPC展现给读者。本系列丛书包括《ACM国际大学生程序设计竞赛:知识与入门》、《ACM国际大学生程序设计竞赛:算法与实现》、《ACM国际大学生程序设计竞赛:题目与解读》、《ACM国际大学生程序设计竞赛:比赛与思考》等4册,其中《ACM国际大学生程序设计竞赛:知识与入门》介绍了ACM-ICPC的知识及其分类、进阶与角色、在线评测系统;《ACM国际大学生程序设计竞赛:算法与实现》介绍了ACM-ICPC算法分类、实现及索引;《ACM国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路;《ACM国际大学生程序设计竞赛:比赛与思考》介绍了上海交通大学ACM-ICPC的训练及比赛,包括训练札记、赛场风云、赛季纵横、冠军之路、峥嵘岁月。本丛书适用于参加ACM国际大学生

算法竞赛入门经典(第2版)高清PDF下载
编程书籍

算法竞赛入门经典(第2版)高清PDF下载

435次浏览 0条评论

《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。   《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。第1部分 语言篇 第1章 程序设计入门 1.1 算术表达式 1.2 变量及其输入 1.3 顺序结构程序设计 1.4 分支结构程序设计 1.5 注解与习题 1.5.1 C语言、C99、C11及其他 

图灵程序设计丛书《算法(第4版)》谢路云 PDF下载
编程书籍

图灵程序设计丛书《算法(第4版)》谢路云 PDF下载

372次浏览 0条评论

本书全面讲述算法和数据结构的必备知识,具有以下几大特色。 算法领域的经典参考书Sedgewick畅销著作的最新版,反映了经过几十年演化而成的算法核心知识体系 内容全面全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法 全新修订的代码全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用 与实际应用相结合在重要的科学、工程和商业应用环境下探讨算法,给出了算法的实际代码,而非同类著作常用的伪代码 富于智力趣味性简明扼要的内容,用丰富的视觉元素展示的示例,精心设计的代码,详尽的历史和科学背景知识,各种难度的练习,这一切都将使读者手不释卷 科学的方法用合适的数学模型精确地讨论算法性能,这些模型是在真实环境中得到验证的 与网络相结合配套网站algs4.cs.princeton.edu提供了本书内容的摘要及相关的代码、测试数据、编程练习、教学课件等资源目录第1章  基础  11.1 基础编程模型  41.1.1 Java程序的基本结构  41.1.2 原始数据类型与表达式  61.1.3  语句  81.1.4  简便记法  91

数据结构与算法分析 Java语言描述(原书第3版)PDF 下载
编程书籍

数据结构与算法分析 Java语言描述(原书第3版)PDF 下载

414次浏览 0条评论

本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与*有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。出版者的话前言第1章 引论11.1 本书讨论的内容11.2 数学知识复习21.2.1 指数21.2.2 对数21.2.3 级数21.2.4 模运算41.2.5 证明的方法41.3 递归简论51.4 实现泛型构件pre-Java 571.4.1 使用Object表示泛型81.4.2 基本类型的包装91.4.3 使用接口类型表示泛型91.4.4 数组类型的兼容性101.5 利用Java 5泛型特性实现泛型构件111.5.1 简单的泛型类和接口111.5.2 自动装箱/拆箱111.5.3 菱形运算符121.5.4 带有限制的通配符121.5.5 泛型static方法141.5.6 类型限界141.5.7 类型擦除151.5.8 对于泛型的限制151.6 函数对象16小结18练习18参考文献19第2章 算法分析202

数据结构与算法JavaScript描述 高清文字版PDF下载
编程书籍

数据结构与算法JavaScript描述 高清文字版PDF下载

354次浏览 0条评论

通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。本书主要内容如下。数组和列表:最常用的数据结构。栈和队列:与列表类似但更复杂的数据结构。链表:如何通过它们克服数组的不足。字典:将数据以键-值对的形式存储。散列:适用于快速查找和检索。集合:适用于存储只出现一次的元素。二叉树:以层级的形式存储数据。图和图算法:网络建模的理想选择。算法:包括排序或搜索数据的算法。高级算法:动态规划和贪心算法。推荐序  XI前言  XII第1章 JavaScript的编程环境和模型  11.1 JavaScript环境  11.2 JavaScript编程实践  21.2.1 声明和初始化变量  31.2.2 JavaScript中的算术运算和数学库函数  31.2.3 判断结构  41.2.4 循环结构  61.2.5 函数  71.2.6 变量作用域  71.2.7 递归  91.3 对象和面向对象编程  101.4 小结  11第2章 数组  132.1 JavaScript中对数组的

图灵程序设计丛书 《算法图解》PDF下载
编程书籍

图灵程序设计丛书 《算法图解》PDF下载

597次浏览 0条评论

本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。第1章 算法简介  11.1 引言  11.1.1 性能方面  11.1.2 问题解决技巧  21.2 二分查找  21.2.1 更佳的查找方式  41.2.2 运行时间  81.3 大O表示法  81.3.1 算法的运行时间以不同的速度增加  91.3.2 理解不同的大O运行时间  101.3.3 大O表示法指出了最糟情况下的运行时间  121.3.4 一些常见的大O运行时间  121.3.5 旅行商  131.4 小结  15第2章 选择排序  162.1 内存的工作原理  162.2 数组和链表  182.2.1 链表  192.2.2 数组  202.2.3 术语  212.2.4 在中间插入  222.2.5 删除  232.3 选择排序  

趣学算法 陈小玉著 PDF下载
编程书籍

趣学算法 陈小玉著 PDF下载

488次浏览 0条评论

本书内容按照算法策略分为7章。第1章从算法之美、简单小问题、趣味故事引入算法概念、时间复杂度、空间复杂度的概念和计算方法,以及算法设计的爆炸性增量问题,使读者体验算法的奥妙。第2~7章介绍经典算法的设计策略、实战演练、算法分析及优化拓展,分别讲解贪心算法、分治算法、动态规划、回溯法、分支限界法、线性规划和网络流。每一种算法都有4~10个实例,共50个大型实例,包括经典的构造实例和实际应用实例,按照问题分析、算法设计、完美图解、伪代码详解、实战演练、算法解析及优化拓展的流程,讲解清楚且通俗易懂。附录介绍常见的数据结构及算法改进用到的相关知识,包括sort函数、优先队列、邻接表、并查集、四边不等式、排列树、贝尔曼规则、增广路复杂性计算、最大流最小割定理等内容。本书可作为程序员的学习用书,也适合从未有过编程经验但又对算法有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。第1章 算法之美 11.1 打开算法之门 21.2 妙不可言—算法复杂性 21.3 美不胜收—魔鬼序列 91.4 灵魂之交—马克思手稿中的数学题 161.5 算法学习瓶颈 211.6

GitHub 一万多 Star,一个可视化学算法的好工具
技术杂谈

GitHub 一万多 Star,一个可视化学算法的好工具

1090次浏览 0条评论

程序员学算法和数据结构时,如果从纯文本和静态图来学,挺枯燥的。相反,可视化动画工具,真是一个非常棒的帮手。这类工具/网站,我们曾介绍过 3 个:旧金山大学数据结构和算法的可视化学习工具http://hao.jobbole.com/visualizing-algorithms-and-data-structure/VisuAlgo:通过动画学习算法和数据结构http://hao.jobbole.com/visualgo/Algomation:查看、创建和分享算法的学习平台http://hao.jobbole.com/algomation/今天我们发现一个同类型的新网站 Algorithm Visualizer,做得很好。网址是:http://algorithm-visualizer.org下面通过冒泡排序,大概解释一下 Algorithm Visualizer 这个工具:①、选择区汇总了好多:回溯法、加密算法、动态规划、图搜索、贪婪算法、搜索算法、排序算法等② ChartTracer长条图方式展示每次交换的过程。每次交换位置的两个数,对应的长条会红色高亮。③ Array1DTracer作