标签分类
当前位置:首页 > 程序设计电子书 > 算法电子书网盘下载
算法新解 算法新解
AYu丶

AYu丶 提供上传

资源
47
粉丝
6
喜欢
107
评论
16

    算法新解 PDF 高清版

    算法电子书
    • 发布时间:

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

  • 算法新解 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1vB9e064l4HQPHYzj9aEzLw
  • 分享码:2ml3
  • 算法新解 PDF

    本书分4 部分,同时用函数式方法和传统方法介绍了主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、Pairing堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法,字符串匹配算法(KMP等),深度优先、广度有限搜索算法、贪心算法以及动态规划。

    目录

    • 第一部分 树
    • 第1章 二叉搜索树:数据结构中的“hello world” 3[1]
    • 第2章 插入排序的进化 19
    • 第3章 并不复杂的红黑树 28
    • 第4章 AVL树 48
    • 第5章 基数树:Trie和Patricia 65[1]
    • 第6章 后缀树 103
    • 第7章 B树 129
    • 第二部分 堆
    • 第8章 二叉堆 159
    • 第9章 从吃葡萄到世界杯:选择排序的进化 184
    • 第10章 二项式堆、斐波那契堆和配对堆 205
    • 第三部分 队列和序列
    • 第11章 并不简单的队列 247
    • 第12章 序列:最后一块砖 271
    • 第四部分 排序和搜索[1]
    • 第13章 分而治之:快速排序和归并排序 329
    • 第14章 搜索 379

    上一篇:Linux命令行与shell脚本编程大全  下一篇:Python科学计算

    展开 +

    收起 -

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

    Python基于递归算法实现的汉诺塔与Fibonacci数列

    这篇文章主要介绍了Python基于递归算法实现的汉诺塔与Fibonacci数列,结合实例形式分析了汉诺塔与Fibonacci数列的递归实现技巧,需要的朋友可以参考下 本文实例讲述了Python基于递归算法实现的汉诺塔与Fibonacci数列。分享给大家供大家参考,具体如下: 这里我们通过2个例子,学习python中递归的使用。 1. 找出Fibonacci数列中,下标为 n 的数(下标从0计数) Fibonacci数列的形式是这样的:0,1,1,2,3,5,8,13…… ① 使用while循环 ,python2代码如下: def fib(n): a,b=0,1 count=0 while countn: a,b=b,a+b count=count+1 print a 运行结果如下: fib(0) 0 fib(1) 1 fib(2) 1 fib(3) 2 fib(4) 3 fib(5) 5 ② 使用递归(递归必须要有边界条件) ,python2代码如下: def fib(n): if n==0 or n==1:#递归的边界条件 return n else: return fib(n-1)+fib(n-2) 运行结果如下: fib(0) 0 fib(1) 1 fib(2) 1 fib(3) 2 fib(4) 3 fib(5) 5 递归是最能表现计算思维的算法之一,我们以f(4)为例,看一下递归的执行过程: 同一程序,使用递归虽然程序简洁,但递归的执行效率要比循环低,系统的资源消耗比循环大。因为递归是一层一层地往里面调用,结束后又一层一层地返回,所以递归的执行效率并不高。那为什么还要使用递归呢?因为有一些问题,我们找不到非常明显的循环方案,但容易找到明显的递归方案。比如说著名的汉诺塔问题……

    网友NO.659698

    JS排序算法之冒泡排序,选择排序与插入排序实例分析

    本文实例讲述了JS排序算法之冒泡排序,选择排序与插入排序。分享给大家供大家参考,具体如下: 冒泡排序: 对数组的中的数据,依次比较相邻两数的大小。 如果前面的数据大于后面的数据,就交换这两个数。 时间复杂度 O(n^2) function bubble(array){ var temp; for(var i=0; iarr.length; i++){ for(var j=0; jarr.length; j++){ if(arr[j]arr[j+1]){ temp = arr[j+1]; arr[j+1] =arr[j]; arr[j]=temp; } }console.log(arr); }}//冒泡排序 选择排序: 首先从原始数组中选择一个最小的数据,和第一个位置1的数据交换。 再从剩下的n-1个数据中选择次小的数据,将其和第二个位置的数据交换。 不断重复,知道最后两个数据完成交换。 时间复杂度 O(n^2) function selectionSort(array){ var min,temp; for(var i=0; iarray.length-1; i++){ min=i; for(var j=i+1; jarray.length; j++){ if(array[j]array[min]){ min=j; } } swap(array,min,i); } console.log(array);}//选择排序function swap(array,i,j){ var temp =array[i]; array[i]=array[j]; array[j]=temp;}//两个数字交换 插入排序: 首先对前两个数据从小到大比较。 接着将第三个数据与排好的前两个数据比较,将第三个数据插入合适的位置。以此类推。 (插入排序有两个循环,外循环将数组挨个移动,内循环将对外循环选中的元素及他前面的数进行比较。) 时间复杂度 O(n^2) function insertSort(arr){ var temp, j; for(var i=1; ……

    网友NO.360760

    JavaScript数据结构与算法之链表

    链表简介 链表是一种常见的数据结构,也属于线性表,但不会按线性的顺序来储存数据。而是在每一个节点中,储存了下一个节点的指针。可以看图理解。(有C语言基础的可能比较好理解)。 使用链表结构可以克服数组需要预先知道数据大小的缺点(C语言的数组需要预先定义长度),链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 接下来就是介绍两种常见的链表: 单向链表,双向链表在JavaScript中的实现。 单向链表 链表中最简单的形式就是单向链表,链表中的节点都包含两个部分,第一部分储存着自身信息,第二部分则储存有指向下一节点的指针。最后一个节点则指向NULL: JavaScipt中单向链表的实现 首先,创建一个构造函数。 /** * 单向链表构造函数 */function LinkedList() { /** * 单向链表中节点的构造函数 * @param {Any} element 要传入链表的节点 */ var Node = function(element) { this.element = element; //下个节点的地址 this.next = null; } //单向链表的长度 var length = 0; //单向链表的头结点,初始化为NULL var head = null;} 不难看出,单向链表构造函数比栈与队列要复杂许多。 单向链表需要有如下的方法: append(element): 添加元素到链表尾部 insert(position,element): 向单向链表中某个位置插入元素 indexOf(element): 寻找某个元素在单向链表中的位置……

    网友NO.699331

    什么是决策树算法?

    英文名字: Decision Tree 决策树是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。 决策树是一个监督式学习方法,主要用于分类和回归。 算法的目标是通过推断数据特征,学习决策规则从而创建一个预测目标变量的模型。 决策树类似if-else结构,它的结果就是你要生成这样一个可以从树根开始不断判断选择到叶子节点的树。 但是这里的if-else判断条件不是人工设置,而是计算机根据我们提供的算法自动生成的。 决策树组成元素 决策点 是对几种可能方案的选择,即最后选择的最佳方案。如果决策属于多级决策,则决策树的中间可以有多个决策点,以决策树根部的决策点为最终决策方案。 状态节点 代表备选方案的经济效果(期望值),通过各状态节点的经济效果的对比,按照一定的决策标准就可以选出最佳方案。由状态节点引出的分支称为概率枝,概率枝的数目表示可能出现的自然状态数目每个分枝上要注明该状态出现的概率。 结果节点 将每个方案在各种自然状态下取得的损益值标注于结果节点的右端 决策树组优缺点 决策树优势 简单易懂,原理清晰,决策树可以实现可视化 推理过程容易理解,……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明