2020-05-07 21:57
6619 次浏览
算法是程序设计的灵魂,代表着用系统的方法描述解决问题的策略与机制。《算法基础与在线实践/北京大学“程序设计与算法”专项课程系列教材》将介绍简单模拟、枚举、递归、二分、贪心、动态规划和搜索等经典算法,带领读者体会它们巧妙的构思,感受利用它们解决问题的独特魅力。《算法基础与在线实践/北京大学“程序设计与算法”专项课程系列教材》不仅讲解这些算法的基本原理思想,还通过具体例题对这些算法进行灵活、有效的展开和准确实现。《算法基础与在线实践/北京大学“程序设计与算法”专项课程系列教材》中涉及的编程任务将充分训练读者的思维能力和动手能力,促成全面、缜密思考问题的习惯。《算法基础与在线实践/北京大学“程序设计与算法”专项课程系列教材》可作为高等学校计算机等相关专业算法设计类课程的教材,也可供对算法设计、程序设计竞赛感兴趣的读者自学使用。第1章 绪论1.1 什么是算法1.2 算法的时间复杂度1.3 算法时间复杂度分析示例1.4 PKU 0penJudge在线评测系统1.5 本章小结第2章 简单计算与模拟2.1 基本思想2.2 例题:鸡兔同笼(POJ 3237)2.3 例题:校门外的树(POJ 2808)
2020-05-05 13:25
5610 次浏览
《算法笔记》介绍了若干常见算法,既包括排序、哈希等基础算法,也包括无约束优化、插值与拟合等数值计算方法。《算法笔记》在介绍算法的同时,结合了作者自己对数学背景、应用场景的理解,便于读者把握算法的核心思想。《算法笔记》尽可能地避开了以应试为导向的灌输式讲解,力求引起读者的兴趣并扩大其视野,例如在介绍哈希时,讲解了如何将哈希的算法思想运用于相似性搜索、负载均衡等多个实际问题中;又如在介绍高斯消去法时,讲解了相关的数学理论及编程实现上的具体技巧,并将其运用于对大规模稀疏线性方程组的求解,等等。《算法笔记》面向有一定高等数学、编程语言基础及对算法有初步了解的读者,包括高等院校的学生、程序员、算法分析人员及设计人员等,旨在帮助读者进一步学习算法,理解与算法相关的理论基础和应用实例。第1 章 排序1 1.1 比较排序. 1 1.1.1 梳排序. 2 1.1.2 堆排序. 4 1.1.3 归并排序 5 1.1.4 快速排序 8 1.1.5 内省排序 10 1.1.6 Timsort 11 1.2 非比较排序. 14 1.2.1 桶排序. 14 1.2.2 基数排序 15 1.3 总结 16 第2 章
2020-02-28 12:46
5398 次浏览
算法设计指南(第2版)由算法领域的知名专家Steven Skiena教授编写,其主要内容包括基本算法设计、算法分析、数据结构、排序与查找、图算法、动态规划以及难解问题与近似算法。 “设计”是本书的核心,作者不但以生动有趣的语言讲授了算法设计中的常用技术与思想,还着重教导我们应从已有经典设计和实现中汲取力量来完成问题求解,而这正是一个优秀算法工作者所必备的素养。为了更全面真实地展现作者的算法设计观,本书每章都给出了若干取自现实案例的精彩War Story,读者可以从中深刻体验到优秀算法设计的曲折历程。为了减轻阅读的难度,作者淡化了繁难的算法分析而仅仅给出性能结论与对比,这在同类算法书中是相当少见的。此外,本书配套网站包含大量算法设计资源以及作者本人的授课视频,为算法设计者提供了极大的便利。本书长期居于算法畅销教材前列,是一本不可多得的“算法设计指南”,它不仅能作为计算机相关专业算法课程的教材,对于相关领域从业人员亦是极具价值的参考书。目录 卷I 实用算法设计 第1章 算法设计导引 3 1.1 机器人巡游优化 4 1.2 合理挑选工作 8 1.3 关于正确性的推理 11 1.4 建立问题的
2019-12-25 20:49
4585 次浏览
本书特色以通俗易懂的方式讲述面试题,涵盖编程基础、架构设计、网络技术、数据库技术、数据结构及算法等主题书中的题目来自微软、谷歌、亚马逊、雅虎、Oracle、Facebook等大公司的面试题,以及一些知名竞赛(如GATE)的考试题全书约有700道算法题,每道题都有详细解答针对每一编程问题,都会按照复杂度递减的顺序给出各种解法专注于问题本身并对这些问题做出分析,而不会过多地聚焦于理论,缺乏计算机基础知识的读者也可以轻松阅读软件开发人员可以将本书作为常备的参考手册,随时翻看,温故而知新译者序 前 言 致 谢 第1章 编程基础1 1.1 变量1 1.2 数据类型1 1.3 数据结构2 1.4 抽象数据类型3 1.5 内存与变量3 1.6 指针4 1.6.1 指针的声明4 1.6.2 指针的使用5 1.6.3 指针的操纵6 1.6.4 数组与指针7 1.6.5 动态内存分配7 1.6.6 函数指针7 1.7 参数传递的方式8 1.7.1 实际参数与形式参数8 1.7.2 参数传递的语义8 1.7.3 各种编程语言所支持的参数传递方式9 1.7.4 按值传递9 1.7.5 按结果传递10 1.7.
2019-12-05 15:17
5097 次浏览
作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。《算法设计与分析基础(第3版)》十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。目录 第1章绪论 1.1什么是算法 习题1.1 1.2算法问题求解基础 1.2.1理解问题 1.2.2了解计算设备的性能 1.2.3在精确解法和近似解法之间做出选择 1.2.4算法的设计技术 1.2.5确定适当的数据结构 1.2.6算法的描述 1.2.7算法的正确性证明 1.2.8算法的分析 1.2.9为算法写代码 习题1.2 1.3重要的问题类型 1.3.1排序 1.3.2查找 1.3.3字符串处理 1.3.4图问题 1
2019-12-04 11:55
3504 次浏览
本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。 本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算机算法特性的1000多种新练习、100多个图表以及大量的程序例子。 Robert Sedgewick完全重定了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能简洁直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。 新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细得多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一起的特点,正是这一点,使Sedgewick的著作成
2019-11-28 19:35
4153 次浏览
本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇?一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。第1章数据结构绪论 1 1.1开场白 2 如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。 1.2你数据结构怎么学的? 3 他完成开发并测试通过后,得意地提交了代码。项目经理看完代码后拍着桌子对他说:“你数据结构是怎么学的?” 1.3数据结构起源 4 1.4基本概念和术语 5 正所
2019-11-22 10:05
2687 次浏览
本书结合作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,帮助读者尽快地掌握自然语言处理所必备的知识和技能。本书主要分两大部分。第一部分是理论篇,包含前3章内容,主要介绍一些基础的数学知识、优化理论知识和一些机器学习的相关知识。第二部分是应用篇,包含第4章到第8章,分别针对计算性能、文本处理的术语、相似度计算、搜索引擎、推荐系统、自然语言处理和对话系统等主题展开介绍和讨论。本书适合从事自然语言处理相关研究和工作的读者参考,尤其适合想要了解和掌握机器学习或者自然语言处理技术的读者阅读。理 论 篇 第1章 你必须知道的一些基础知识………………………………………3 1.1 概率论 ……………………………………………………………3 1.2 信息论 ……………………………………………………………4 1.3 贝叶斯法则 ………………………………………………………7 1.4 问题与思考 ………………………………………………………10 第2章 我们生活在一个寻求最优解的世界里……………………………11
2019-11-12 20:29
3355 次浏览
算法这个词对于非计算机从业人士而言,似乎就是晦涩、神秘的代名词。其实,算法在日常生活中随处可见。做饭用的菜谱是一种算法、查字典的方法是一种算法、给期中考试分数排名也用到了算法。事实上,算法可以说是这个信息爆炸的时代所依存的重要基石之一。《写给大家看的算法书》对于理解信息处理的基础——算法而言,是一本非常优秀的入门读物。作者采用大量生动的类比,配合简洁易懂的配图,深入浅出地讲解算法,极大地拉近了读者与算法的距离。通读全书,读者可以了解到计算机编程与算法的基本理念,也能对简单常用的算法有一个大概的理解。第1 章 什么是算法 1 1.1 算法其实就在身边 2 1.2 算法是人类智慧的结晶 4 1.3 了解算法对玩游戏有帮助吗 6 1.4 算法有两个必要条件 8 1.5 要特别了解的重要算法 10 专题1 算法基础之结构化编程思想 12 第2 章 变量和数组 13 2.1 所谓“数据”,就是各种各样的信息 14 2.2 数据有不同的类型 16 2.3 最基础的数据是“值” 18 2.4 装着“值”的盒子叫作“变量” 20 2.5 要描述算法,变量是不可或缺的 22 2.6 所谓“代入”,指的是
2019-11-07 09:25
4290 次浏览
本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。目 录 前言 第1章绪论1 1.1计算机问题求解1 1.1.1程序开发过程1 1.1.2 一个简单例子3 1.2 问题求解:交叉路口的红绿灯安排4 1.2.1问题分析和严格化5 1.2.2图的顶点分组和算法6 1.2.3算法的精化和Python描述7 1.2.4讨论8 1.3算法和算法分析10 1.3.1问题、问题实例和算法10 1.3.2算法的代价及其度量14 1.3.3算法分析19 1.3.4Python程序的计算代价(复杂度)21 1.4数据结构23 1.4.1数据结构及其分类24 1.4.2计算机内存对象表示26 1.4.3Python对象和数据结构30 练习32 第2章抽象数据类型和Python类34 2.1抽象数据类型34 2.1.1数据类型和数据构造34 2.1.2抽象数据类型的概念36 2.1.3抽象数据类型的描述
2019-11-05 18:49
4810 次浏览
本书主要讲解如何将数据结构概念用C 程序语言进行实作。本书将复杂的理论结合图文并茂的解说方式,并搭配丰富的图表及范例介绍,将数据结构中重要的观念及演算方法加以诠释,集中学习焦点。 本书适合数据结构的初学者使用,也可以作为计算机相关专业的教科书。目 录 第1章 数据结构导论 1 1.1 数据结构简介 2 1.1.1 数据结构的应用 2 1.1.2 算法 4 1.1.3 算法的描述工具 5 1.2 认识程序设计 7 1.2.1 高级程序设计语言 7 1.2.2 程序设计要领 8 1.3 程序设计的风格 8 1.3.1 自顶向下与模块化设计8 1.3.2 可读性设计 8 1.3.3 控制结构设计 9 1.3.4 面向对象设计 10 1.4 面向对象设计与C 12 1.4.1 C 的面向对象功能12 1.4.2 类的基本概念 13 1.4.3 访问权限关键词 14 1.4.4 继承关系 15 1.4.5 多态 16 1.5 递归算法 17 1.5.1 递归的定义 17 1.5.2 斐波拉契数列 19 1.5.3 汉诺塔问题 20 1.6 程序效率的分析 25 1.6.1 Big-oh 27 1
2019-11-05 18:47
5273 次浏览
算法是利用电脑解决问题的技巧。本书以轻松的对话方式,采用图解的辅助说明,帮助读者简单且自然地掌握算法的基本概念,并养成主动思考的习惯,达到用算法解决实际问题的目的。全书共分12章,内容包括一切从观察开始、分而治之法、动态规划、贪婪法、修剪与搜索法、树搜索法、问题转换、图算法、计算几何、算法的难题、逼近算法、随机算法等。本书示例丰富,图文并茂,以易于理解的方式阐释算法,帮助程序员在日常项目开发中更好地发挥算法的能量。封面 版权页 推荐序 前言 第 1 章 一切从观察开始 1.1 什么是算法 1.2 汉诺塔问题 1.3 汉诺塔问题的非递归算法 1.4 发现算法的技巧 学习效果评测 第 2 章 分而治之法 2.1 何谓分而治之法 2.2 找出最大值 2.3 时间复杂度 2.4 二维极点问题 2.5 快速排序法 2.6 快速排序法的时间复杂度 2.7 寻找第 k 小值问题 2.8 分而治之法的技巧 学习效果评测 第 3 章 动态规划 3.1 何谓动态规划 3.2 换零钱 3.3 数字金字塔 3.4 最长相同子字符串 3.5 安排公司聚会 3.6 动态规划的技巧 学习效果评测 第 4 章 贪婪法
2019-10-31 13:55
3273 次浏览
《零基础学大数据算法》是通俗易懂的大数据算法教程。通篇采用师生对话的形式,旨在用通俗的语言、轻松的气氛,帮助读者理解大数据计算领域中的基础算法和思想。《零基础学大数据算法》由背景篇、理论篇、应用篇和实践篇四部分组成。背景篇介绍大数据、算法、大数据算法等基本概念和背景;理论篇介绍解决大数据问题的亚线性算法、磁盘算法、并行算法、众包算法的基本思想和理论知识;应用篇介绍与大数据问题息息相关的数据挖掘和推荐系统的相关知识;实践篇从实际应用出发,引导读者动手操作,帮助读者通过实际程序和实验验证磁盘算法、并行算法和众包算法。在讲解每一个大数据问题之前,《零基础学大数据算法》都会介绍大量的经典算法和基础数据结构知识,不仅可以帮助学习过数据结构与算法、算法设计与分析等课程的同学复习,同时能够让入门的“小菜鸟”们,不会因为没有学习过经典算法而对《零基础学大数据算法》望而却步,轻松地掌握大数据算法!第1 篇 背景篇 第1 章何谓大数据 ..... 4 1.1身边的大数据 4 1.2大数据的特点和应用 ............ 6 第2 章何谓算法 .............................
2019-10-31 13:42
4375 次浏览
零基础学算法(第3版)分为上、下两篇,共10章。上篇用5章的篇幅介绍了算法和数据结构的基础知识,包括基础算法思想、简单数据结构、复杂数据结构、排序和查找算法等内容;下篇用5章的篇幅介绍了用数据结构解决实际问题的相关程序,包括解决数学问题、数据结构问题、算法经典问题等内容以及信息学奥赛部分试题的程序,最后一章介绍了与算法和数据结构相关的常见面试题。本书案例实用性强、结构清晰、实例代码讲解详尽,可作为大中专院校学生学习数据结构以及做课程设计的参考书,也可以作为有一定程序设计基础的程序员的参考书,还可作为参加信息学奥赛选手的参考书。第1章 基础算法思想第2章 简单数据结构第3章 复杂数据结构第4章 常用算法——排序第5章 常用算法——查找第6章 数学问题第7章 数据结构问题第8章 算法经典问题第9章 信息学奥赛试题精解第10章 常见面试题及解答
2019-10-26 15:32
5020 次浏览
ACM 国际大学生程序设计竞赛(ACM/ICPC)是由国际计算机界历史悠久、颇具权威性 的组织 ACM 学会主办,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛, 其目的旨在使大学生运用计算机来充分展示自已分析问题和解决问题的能力。 因历届竞都赛 荟萃了世界各大洲的精英,云集了计算机界的“希望之星”,而受到国际各知名大学的重视, 并受到全世界各著名计算机公司的高度关注, 成为世界各国大学生最具影响力的国际级算计 机类的赛事。南京理工大学参与该项赛事八年, 获得亚洲区银奖5 个, 铜奖12 个。 同时在训练中也 积累了一些训练的资料。南京理工大学ACM/ICPC 集训队根据多年训练积累,整理的 《ACM/ICPC 算法训练教程》适合 ACM/ICPC 初学者,及具有一定基础的计算机算法和编 程爱好者。适合作为本科及研究生算法与数据结构类课程的参考教材。本书资料全部来自南京理工大学 ACM/ICPC 集训队内部资料。 由张珂、 张俊华等集训 队员负责整理。因成书仓促,错误在所难免,望批评指正。序
2019-10-26 15:19
3755 次浏览
《普通高等教育"十一五"国家级规划教材:ACM程序设计竞赛基础教程》以循序渐进的方式对ACM程序设计竞赛中所涉及的基本题型和知识点进行了综合的介绍。《普通高等教育"十一五"国家级规划教材:ACM程序设计竞赛基础教程》共分9章,包括基础知识讲解、典型题目分析和算法设计,每道例题均给出完整的源程序作为参考。内容涵盖了基础算法、数据结构、字符串、搜索、图论、动态规划、组合数学和初等数论等。第1章 基础算法1.1 分治1.2 递归1.3 枚举1.4 贪心第2章 排序、查找算法2.1 基本排序算法2.1.1 插入排序2.1.2 冒泡排序2.1.3 快速排序2.1.4 其他排序2.2 基本查找算法2.2.1 顺序查找2.2.2 折半查找2.3 实例分析2.4 小结第3章 数据结构基础3.1 常用数据结构简介3.1.1 线段树简介3.1.2 并查集简介3.1.3 树状数组简介3.2 实例分析第4章 字符串4.1 字符串匹配4.1.1 朴素的字符串匹配算法4.1.2 KMP算法4.1.3 其他匹配算法4.2 实例分析4.3 小结第5章 搜索算法5.1 基本搜索算法5.1.1 递归与迭代5.1.2 深度
2019-10-24 18:52
4035 次浏览
Java常用算法手册(第3版)共分三篇,共14章,分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏等领域中的应用;后梳理和精选了一些经典的算法面试题,供读者开拓思维之用。第1章 算法和实现算法的Java语法1.1 建立算法初步概念 11.1.1 什么是算法 11.1.2 算法的发展历史 31.1.3 算法的分类 31.2 算法相关概念的区别 31.2.1 算法与公式的关系 41.2.2 算法与程序的关系 41.2.3 算法与数据结构的关系 41.3 算法的表示 41.3.1 自然语言表示 51.3.2 流程图表示 51.3.3 N-S图表示 61.3.4 伪代码表示 71.4 算法的性能评价 71.4.1 时间复杂度 81.4.2 空间复杂度 81.5 一个算法实例 81.5.1 查找数字 81.5.2 创建项目 101.5.3 编译执行 111.6 Java程序的基本结构 131.6.1 类是一个基本单元 131.6.2 main方法 141.6.3 自定义方法 141.
2019-10-24 14:44
4787 次浏览
本书介绍了计算机的数学基础,内容涉及求和、取整函数、数论、二项式系数、特殊数、母函数(发生函数)、离散概率、渐近等等,面向从事计算机科学、计算数学、计算技术诸方面工作的人员,以及高等院校相关专业的师生。中文版致辞 前言 记号注释 第1章 递归问题 1.1 河内塔 1.2 平面上的直线 1.3 若瑟夫问题 习题 第2章 和式 2.1 记号 2.2 和式和递归式 2.3 和式的处理 2.4 多重和式 2.5 一般性的方法 2.6 有限微积分和无限微积分 2.7 无限和式 习题 第3章 整值函数 3.1 底和顶 3.2 底和顶的应用 3.3 底和顶的递归式 3.4 mod:二元运算 3.5 底和顶的和式 习题 第4章 数论 4.1 整除性 4.2 素数 4.3 素数的例子 4.4 阶乘的因子 4.5 互素 4.6 mod:同余关系 4.7 独立剩余 4.8 进一步的应用 4.9 函数和 函数 习题 第5章 二项式系数 5.1 基本恒等式 5.2 基本练习 5.3 处理的技巧 5.4 生成函数 5.5 超几何函数 5.6 超几何变换 5.7 部分超几何和式 5.8 机械求和法 习题 第6章
2019-10-09 12:54
3957 次浏览
本书是一本数据结构方面的优秀教材,以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
2019-09-26 09:37
5366 次浏览
《Java数据结构和算法》(第2版)以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。 《Java数据结构和算法》(第2版)提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经验丰富的作者RorbertLafore先生提供了许多简单明了的例子,避免了对于这类例题常见的冗长、繁锁的数学证明。在第二版中,他利用Java语言最新特性,修改并扩充了他的例子。在每一章后都有问题和练习,使读者有机会测试自己的理解程度。出版说明献词简介第1章 综述数据结构和算法能起到什么作用?数据结构的概述算法的概述一些定义面向对象编程软件工程对于C++程序员的JavaJava数据结构的类库小结问题第2章 数组Array专题AppletJava中数组的基础知识将程序划分成类类接口Ordered专题applet有序数组的Java代码对数存储对象大O表示法为什么不用数组表示一切?小结问题实验编程作业
2019-09-21 08:43
4210 次浏览
day14-动态规划和回溯day13-贪心和分治day12-递归与穷举day11-排序与归并day10-算法排序day09-算法简介day08-图的最短路径与拓扑排序day07-图的遍历与最小生成树day06-图day05-二叉树day04-树day03-HashMap和LinkedHashMapday02-栈和队列day01-线性表
2019-09-21 08:28
3905 次浏览
本书使用实际代码而非伪代码来描述算法,并以经验主导支撑数学分析,侧重于应用且规范严谨。本书提供了用多种程序设计语言实现的文档化的实际代码解决方案,还介绍了近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散列搜
2019-09-17 18:09
4225 次浏览
在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。本书较第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绝对值函
2019-08-13 10:10
5713 次浏览
《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国际大学生
2019-08-13 09:17
7506 次浏览
《算法竞赛入门经典(第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及其他
2019-07-31 10:33
9163 次浏览
本书是国外数据结构与算法分析方面的经典教材,使用卓越的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
2019-04-25 11:19
6162 次浏览
本书内容按照算法策略分为7章。第1章从算法之美、简单小问题、趣味故事引入算法概念、时间复杂度、空间复杂度的概念和计算方法,以及算法设计的爆炸性增量问题,使读者体验算法的奥妙。第2~7章介绍经典算法的设计策略、实战演练、算法分析及优化拓展,分别讲解贪心算法、分治算法、动态规划、回溯法、分支限界法、线性规划和网络流。每一种算法都有4~10个实例,共50个大型实例,包括经典的构造实例和实际应用实例,按照问题分析、算法设计、完美图解、伪代码详解、实战演练、算法解析及优化拓展的流程,讲解清楚且通俗易懂。附录介绍常见的数据结构及算法改进用到的相关知识,包括sort函数、优先队列、邻接表、并查集、四边不等式、排列树、贝尔曼规则、增广路复杂性计算、最大流最小割定理等内容。本书可作为程序员的学习用书,也适合从未有过编程经验但又对算法有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。第1章 算法之美 11.1 打开算法之门 21.2 妙不可言—算法复杂性 21.3 美不胜收—魔鬼序列 91.4 灵魂之交—马克思手稿中的数学题 161.5 算法学习瓶颈 211.6
2018-12-03 19:43
12220 次浏览
程序员学算法和数据结构时,如果从纯文本和静态图来学,挺枯燥的。相反,可视化动画工具,真是一个非常棒的帮手。这类工具/网站,我们曾介绍过 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作