标签分类
当前位置:首页 > 程序设计电子书 > 算法电子书网盘下载
趣题学算法 趣题学算法
码小辫

码小辫 提供上传

资源
37
粉丝
13
喜欢
74
评论
14

    趣题学算法 PDF 原版完整版

    算法电子书
    • 发布时间:

    给大家带来的一篇关于算法相关的电子书资源,介绍了关于趣题、算法方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小17.4 MB,徐子珊编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.4,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • 趣题学算法 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1uzMrkbG-c-Id7hsec-ZM0w
  • 分享码:tsv7
  • 趣题学算法 PDF

    1.难题驱动器,这书由80好几个测算难题分类整理,串连而成。由难题明确提出定义,基础理论和方式,让用户了解怎样学。 

    2. 全部难题均有详细说明:难题了解,统计数据的I/O,实例分析,编码叙述。让用户学得会。 

    3. 图片配文字,解读方式栩栩如生,扣人心弦,让用户学着非常容易。 

    4. 每1个难题均得出详细的,历经严苛调节的C 编码,让用户学有满足感。 

    5. 对必须加强学习的繁杂算法,出示视頻解读,让用户学习培训非常容易 

    书中內容根据C 全书共有10章。第0章解读了算法的概念及体例表明。第1~7章各自就计数问题、信息内容搜索难题、组成提升难题、图中检索难题和数论难题进行,探讨了算法的设计构思和布置,详细详细介绍了处理这种难题的渐增对策、分治对策、回朔对策、动态规划和贪欲对策、广度优先搜索对策、深度优先搜索对策等。第8章出示了10个让用户自解的测算难题,让用户还有机会小试牛刀。第9章用书中得出的各难题的C 解决方法做为事例,探讨了C 語言的强劲程序编写作用。书中一共收录了92个饶有兴趣的测算难题,每一难题(包含第8章交给用户自解的题型)都得出了详细的C 解决方法。 《趣题学算法》适合做为程序猿的教材,高等院校各技术专业孩子学习“数据结构”“计算机算法剖析”“编程设计”等课程内容的拓展读本,还可以做为所述课程内容的试验或课题设计的原材料,可以做为提前准备报名参加中国或国际性编程设计比赛的用户的比赛前训炼原材料。

    目录

    • 第0章 从这里开始 1
    • 0.1 App程序与算法 2
    • 0.2 计算问题 2
    • 问题0-1 计算逆序数 3
    • 0.3 算法的伪代码描述 4
    • 0.4 算法的正确性 6
    • 0.5 算法分析 7
    • 0.6 算法运行时间的渐近表示 9
    • 问题0-2 移动电话 10
    • 0.7 算法的程序实现 13
    • 0.8 从这里开始 15
    • 第1章 计数问题 16
    • 1.1 累积计数法 17
    • 问题1-1 骑士的金币 17
    • 问题1-2 扑克牌魔术 19
    • 问题1-3 能量转换 22
    • 问题1-4 美丽的花园 24
    • 1.2 简单的数学计算 26
    • 问题1-5 小小度刷礼品 26
    • 问题1-6 找到牛妞 29
    • 问题1-7 糟糕的公交调度 31
    • 1.3 加法原理和乘法原理 34
    • 问题1-8 冒泡排序 35
    • 1.4 图的性质 38
    • 问题1-9 聚会游戏 39
    • 1.5 置换与轮换 41
    • 问题1-10 牛妞排队 42
    • 第2章 数据集合与信息查找 45
    • 2.1 集合及其字典操作 46
    • 问题2-1 开源项目 46
    • 问题2-2 王子的难题 53
    • 问题2-3 度度熊就是要第一个出场 56
    • 问题2-4 寻找克隆人 62
    • 问题2-5 疯狂搜索 64
    • 2.2 文本串的查找 66
    • 问题2-6 Pandora星球上的计算机病毒 69
    • 2.3 全序集序列的排序 71
    • 问题2-7 DNA排序 73
    • 问题2-8 度度熊的礼物 76
    • 问题2-9 通信系统 78
    • 2.4 集合的并、交、差运算 80
    • 问题2-10 计算机调度 81
    • 第3章 现实模拟 85
    • 3.1 简单模拟 86
    • 问题3-1 对称排序 86
    • 问题3-2 边界 89
    • 3.2 栈及其应用 92
    • 问题3-3 Web导航 93
    • 问题3-4 周期序列 95
    • 3.3 队列及其应用 99
    • 问题3-5 稳定婚姻问题 99
    • 问题3-6 最好的农场 102
    • 3.4 基于二叉堆的优先队列及其应用 105
    • 问题3-7 David购物 107
    • 问题3-8 内存分配 110
    • 3.5 二叉树及其应用 115
    • 问题3-9 后缀表达式 116
    • 问题3-10 符号导数 119
    • 第4章 组合优化问题 125
    • 4.1 组合问题及其回溯算法 126
    • 3-色问题 126
    • N-后问题 127
    • 0-1 背包问题 128
    • 4.2 回溯算法框架 129
    • 问题4-1 探险图 129
    • 问题4-2 Jill的骑行路径 134
    • 4.3 排列树问题 138
    • 问题4-3 八元拼图 138
    • 问题4-4 一步致胜 142
    • 问题4-5 订单 145
    • 4.4 子集树问题 147
    • 问题4-6 命题逻辑 147
    • 问题4-7 整除性 151
    • 4.5 用回溯算法解组合优化问题 154
    • 问题4-8 盗贼 154
    • 问题4-9 牛妞玩牌 156
    • 问题4-10 三角形游戏 159
    • 问题4-11 轮子上的度度熊 162
    • 4.6 加速计算组合优化问题 167
    • 问题4-12 三角形N-后问题 167
    • 第5章 动态规划与贪婪策略 172
    • 5.1 动态规划 173
    • 问题5-1 数字三角形 173
    • 问题5-2 形式语言 176
    • 5.2 0-1背包问题的动态规划算法 179
    • 问题5-3 温馨旅程 180
    • 5.3 最长公共子序列问题的动态规划算法 182
    • 问题5-4 射雕英雄 184
    • 问题5-5 人类基因功能 186
    • 问题5-6 清洁机器人 189
    • 5.4 贪婪策略 193
    • 问题5-7 牛妞的最佳排列 193
    • 问题5-8 渡河 197
    • 5.5 无向带权图的最小生成树 199
    • 问题5-9 网络设计 202
    • 问题5-10 网页聚类 204
    • 5.6 有向带权图单源最短路径 206
    • 问题5-11 牛妞聚会 208
    • 问题5-12 最短路 210
    • 第6章 图的搜索算法 218
    • 6.1 广度优先搜索 219
    • 6.2 无向图的连通分支 221
    • 问题6-1 女孩与男孩 221
    • 问题6-2 卫星照片 224
    • 6.3 图中顶点间最短路径 227
    • 问题6-3 骑士移动 228
    • 问题6-4 蜜蜂种群 230
    • 6.4 深度优先搜索 233
    • 6.5 有向无圈图的拓扑排序 235
    • 问题6-5 考虑所有的光盘 236
    • 问题6-6 循序 239
    • 6.6 无向图的关节点和桥 242
    • 问题6-7 网络保护 245
    • 问题6-8 夫妻大盗 248
    • 6.7 流网络的最大流问题 250
    • 问题6-9 网络带宽 252
    • 问题6-10 电网 255
    • 问题6-11 选课 258
    • 6.8 欧拉路径问题 261
    • 问题6-12 观光旅游 262
    • 问题6-13 Johnny的新车 267
    • 问题6-14 放牛娃 269
    • 第7章 数论问题 272
    • 7.1 整数的进位制 273
    • 问题7-1 牛牛计数 273
    • 问题7-2 数制转换 275
    • 7.2 10进制非负大整数的表示与算术运算 277
    • 问题7-3 除法 281
    • 7.3 整数的模运算 282
    • 问题7-4 Maya历法 283
    • 问题7-5 Euclid游戏 285
    • 7.4 最大公约数 287
    • 问题7-6 纽约大劫案 289
    • 问题7-7 青蛙的约会 292
    • 7.5 素数 295
    • 问题7-8 素数分割 296
    • 问题7-9 哥德巴赫猜想 298
    • 问题7-10 困惑的密码员 299
    • 7.6 算术基本定理 301
    • 问题7-11 密码学中的幂 302
    • 问题7-12 RSA因数分解 304
    • 第8章 动手做 307
    • 问题8-1 测谎 308
    • 问题8-2 伪图形识别 309
    • 问题8-3 反转数相加 311
    • 问题8-4 直角多边形 312
    • 问题8-5 二叉搜索堆 313
    • 问题8-6 物以类聚 314
    • 问题8-7 旅程 315
    • 问题8-8 午餐 316
    • 问题8-9 网络攻击 317
    • 问题8-10 素数个数 318
    • 第9章 C 程序设计 320
    • 9.1 C 的程序结构 321
    • 9.1.1 源文件的组成 322
    • 9.1.2 语句与关键字 323
    • 9.1.3 数据与表达式 325
    • 9.1.4 指针类型和引用类型 328
    • 9.2 C 的面向对象程序设计技术 331
    • 9.2.1 类的封装 331
    • 9.2.2 类的继承 338
    • 9.2.3 多态 349
    • 9.3 C 的模板技术 358
    • 9.3.1 函数模板 358
    • 9.3.2 类模板 360
    • 9.4 C 的标准模板库——STL 366
    • 9.4.1 容器类模板 367
    • 9.4.2 算法模板和仿函数 383
    • 9.4.3 类模板组合 386
    • 9.5 数据的输入输出 391
    • 9.5.1 文件输入输出流 391
    • 9.5.2 串输入输出流 392
    • 9.5.3 流运算符的重载 396

    上一篇:面对机器人技术和人工智能来袭的生存指南  下一篇:Excel公式与函数大辞典

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    算法相关电子书
    学习笔记
    网友NO.185061

    python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)

    1. ³¡¾°ÃèÊö Ò»Ö±×öjava£¬ÒòÏîÄ¿Ô­Òò£¬ÐèÒª·âװһЩ¾­µäµÄËã·¨µ½Æ½Ì¨ÉÏÈ¥£¬¾ÍÒ»±ßѧϰpython£¬Ò»±ßÍøÉÏÑ°ÕÒ¾­µäËã·¨´úÂ룬½ñÌì½éÉÜϾ­µäµÄK-means¾ÛÀàËã·¨£¬Ëã·¨Ô­Àí¾Í²»½éÉÜÁË£¬Ö»´Ó´úÂë²ãÃæ½øÐнéÉÜ£¬°üº¬£ºrest½Ó¿Ú¡¢Á¬½ÓmppÊý¾Ý¿â¡¢»Ø´«jsonÊý¾Ý¡¢ÏÂÔØͼƬ¼°Êý¾Ý¡£ 2. ½â¾ö·½°¸ 2.1 ÏîÄ¿Ì×· £¨1£©python¾­µäËã·¨Êǵ¥¶ÀµÄ·þÎñÆ÷²¿Êð£¬Ìṩrest½Ó¿Ú³öÀ´£¬¹©javaƽ̨µ÷Ó㬽»»¥µÄ·½Ê½ÊÇhttp+json£» £¨2£©Êý¾Ý´ÓmppÊý¾Ý¿â-GreenplumÖлñÈ¡£» £¨3£©·µ»ØµÄÊý¾Ý°üÀ¨Èý¸ö£º1ÊÇÉú³É¾ÛÀàͼƬµÄµØÖ·£»2ÊǾÛÀàÏîÄ¿ÍêÕûÊý¾ÝµØÖ·£»3ÊÇ·µ»Ø¸øÇ°¶ËµÄ200ÌõjsonÔ¤ÀÀÊý¾Ý¡£ 2.2 restapiÀà ·ÖÁ½¸öÀ࣬µÚÒ»¸öÊÇrestapiÀ࣬·â×°rest½Ó¿ÚÀ࣬ÆäËûµÄ¾­µäËã·¨ÔÚÕâÀﶼÓжÔÓ¦µÄ·½·¨£¬ÊǸö¹«¹²Àà¡£ ÍêÕû´úÂ룺 # -*- coding: utf-8 -*-from flask import Flask, request, send_from_directoryfrom k_means import execimport loggingapp = Flask(__name__)#1.·þÎñÆ÷Éϸü¸ÄΪ·þÎñÆ÷µØÖ·£¬ÓÃÓÚ´æ·ÅÊý¾Ýdirpath = 'E:\\ruanjianlaowang'#2. ²âÊÔÁ¬Í¨ÐÔ£¬Èí¼þÀÏÍõ@app.route('/')def index(): return "Hello, World!"#3……

    网友NO.890109

    散列算法与散列码(实例讲解)

    一、引入 /** * Description:新建一个类作为map的key */public class Groundhog{ protected int number; public Groundhog(){ } public Groundhog(int number) { this.number = number; } @Override public String toString() { return "Groundhog{" + "number=" + number + '}'; }}/** * Description:新建一个类作为map的value */public class Prediction{ private boolean shadow=Math.random() 0.5; @Override public String toString() { if (shadow) return "Six more weeks of Winter"; else return "Early Spring!"; }}/** * Description:测试类 */public class SpringDetector{ public static void detectSpring(Class grondHotClass) throws Exception{ Constructor constructor = grondHotClass.getConstructor(new Class[]{int.class}); Map map=new HashMap(); for (int i=0;i10;i++){ map.put(constructor.newInstance(new Object[]{new Integer(i)}),new Prediction()); } System.out.println("map="+map); Groundhog groundhog=(Groundhog)constructor.newInstance(new Object[]{new Integer(3)}); System.out.println(groundhog); if (map.containsKey(groundhog)) {//查找这个key是否存在 System.out.println((Prediction)map.get(groundhog)); }else { System.out.println("key not find:"+groundhog); } } public static void main(String[] args) { try { detectSpring(Groundhog.class); } catch (Exception e) { e.printStackTrace(); } }} 看这个结果,问题就来了,map中明明存在Groudhog{number=3},为什么结果显示的是Key not find呢??问题出在哪里呢?原来是Groudhog类没有重写hashCode()方法,所以这……

    网友NO.339282

    微信随机生成红包金额算法php版

    最近在研究发红包的功能,于是写了个红包的生成算法。 红包生成算法的需求 预先生成所有的红包还是一个请求随机生成一个红包 简单来说,就是把一个大整数m分解(直接以“分为单位,如1元即100)分解成n个小整数的过程,小整数的范围是[min, max]。 最简单的思路,先保底,每个小红包保证有min,然后每个请求都随机生成一个0到(max-min)范围的整数,再加上min就是红包的钱数。 这个算法虽然简单,但是有一个弊端:最后生成的红包可能都是min钱数的。也就是说可能最后的红包都是0.01元的。 另一种方式是预先生成所有红包,这样就比较容易控制了。我选择的是预先生成所有的红包。 理想的红包生成算法 理想的红包生成结果是平均值附近的红包比较多,大红包和小红包的数量比较少。 可以想像下,生成红包的数量的分布有点像正态分布。 那么如何实现这种平均线附近值比较多的要求呢? 就是要找到一种算法,可以提高平均值附近的概率。那么利用一种”膨胀“再”收缩“的方式来达到这种效果。 先平方,再生成平方范围内的随机数,再开方,那么概率就不再是平均的了。 具体算法:(设置的总钱数,总人数,最大值,最小值要合理) Php代码 /** * 求一个数的平方 * @param $n */ function sqr($n){ return $n*$n; } /** * 生产min和m……

    网友NO.488009

    python中Apriori算法实现讲解

    本文主要给大家讲解了Apriori算法的基础知识以及Apriori算法python中的实现过程,以下是所有内容: 1. Apriori算法简介 Apriori算法是挖掘布尔关联规则频繁项集的算法。Apriori算法利用频繁项集性质的先验知识,通过逐层搜索的迭代方法,即将K-项集用于探察(k+1)项集,来穷尽数据集中的所有频繁项集。先找到频繁项集1-项集集合L1, 然后用L1找到频繁2-项集集合L2,接着用L2找L3,知道找不到频繁K-项集,找到每个Lk需要一次数据库扫描。注意:频繁项集的所有非空子集也必须是频繁的。Apriori性质通过减少搜索空间,来提高频繁项集逐层产生的效率。Apriori算法由连接和剪枝两个步骤组成。 2. Apriori算法步骤 根据一个实例来解释:下图是一个交易单,I1至I5可看作5种商品。下面通过频繁项集合来找出关联规则。 假设我们的最小支持度阈值为2,即支持度计数小于2的都要删除。 上表第一行(第一项交易)表示:I1和I2和I5一起被购买。 C1至L1的过程: 只需查看支持度是否高于阈值,然后取舍。上图C1中所有阈值都大于2,故L1中都保留。 L1至C2的过程分三步: 遍历产生L1中所有可能性组合,即(I1,I2)...(I4,I5 ) 对便利产生的每个组合进行拆分,以保证频繁项集的所有非空子集也必须是频繁的。即对于(I1,I2)来说进行拆分为I1,I2.由于I1和……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明