随笔分类 -  数据结构与基础算法

哈夫曼算法和哈夫曼树
摘要: 阅读全文

posted @ 2019-02-26 20:26 本名边境 阅读(149) 评论(0) 推荐(0)

优先队列
摘要:首先了解什么是优先队列 作为缓存结构,优先队列与栈和队列类似,可以将数据元素保存其中,可以访问和弹出。优先队列的特点是存入其中的内向数据都另外附有一个数值,表示这个项的优先程度,称其为优先级。每次访问的都会是优先级最高的元素。如果不止一个元素优先级最高,优先队列将推出他们中的一个,具体哪个将由每部实 阅读全文

posted @ 2019-02-21 15:50 本名边境 阅读(273) 评论(0) 推荐(0)

二叉树
摘要:几个基本概念 不包含任何结点的二叉树为空树 只包含一个结点的二叉树是一棵单点树 一棵二叉树可以包含任意(有穷个)个结点 一棵二叉树的根结点称为该树的子树根结点的父结点;与之对应,子树的根结点称为二叉树树根结点的子结点 父结点相同的两个结点称为兄弟结点,在二叉树中有些结点的两棵子树都空,没有子结点,这 阅读全文

posted @ 2019-02-20 20:59 本名边境 阅读(461) 评论(0) 推荐(0)

冒泡排序,插入排序
摘要:冒泡排序 每两个相邻的元素进行比较,前者大于后者则交换元素位置,直到所有的相邻元素均无法交换位置步骤 步骤 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的 阅读全文

posted @ 2019-02-14 18:56 本名边境 阅读(148) 评论(0) 推荐(0)

栈 和 队列
摘要:1、栈和队列的概述 栈和队列主要用于计算过程中数据的临时保存。如果需要存储的数据项数不能够事先确定,就必须采用更复杂的存储机制和管理,这种存储机制称为缓冲存储或者缓存。栈和队列就是使用最多的缓冲存储结构 栈和队列也是最简单的缓存结构,他们只支持数据项的存储和访问。 栈和队列作为数据结构需要提供几个基 阅读全文

posted @ 2019-02-13 14:22 本名边境 阅读(191) 评论(0) 推荐(0)

归并排序(python)
摘要:归并排序思想 归并排序仍然是利用完全二叉树实现,它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。 基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1 阅读全文

posted @ 2019-01-12 16:49 本名边境 阅读(1192) 评论(0) 推荐(0)

贝叶斯网络2
摘要:贝叶斯网络的形式化定义 特殊的贝叶斯网络 假定一个退化的贝叶斯网络, a1 -- > a2 -- > a3 -- > a4 -- > a5 -- > a6 这样的一个链条是标准的马尔科夫模型,还有二阶和三阶的。 该链条中A3 只与A4有关,与其他的无关 * 常见的伪随机数发生器可以看做是马尔科夫模型 阅读全文

posted @ 2018-12-24 21:30 本名边境 阅读(108) 评论(0) 推荐(0)

贝叶斯网络1
摘要:知识储备 相互熵 信息增益(互信息) 条件概率: 全概率公式: 贝叶斯公式: 思考问题: 给定一个样本D,计算样本A1, A2, ...An发生的概率哪一个可能是会是最正确的呢?又怎样通过贝叶斯来解决这个问题? 通过贝叶斯公式 选择n个样本中概率最大的那个作为最后的结论。p(D)是常数,假定p(Ai 阅读全文

posted @ 2018-12-22 19:14 本名边境 阅读(426) 评论(0) 推荐(0)

单链表的实现(python)
摘要:采用链表实现顺序表的规则如下: 需要两个类,LNode只有两个变量 elem是保存的元素,next是下一个元素的内存地址, LList类处理增删改查等操作 只写了 增加元素的代码,删除修改类似。 增加元素 增加元素分为首部,尾部,任意位置三种, 首部,首先判断head是否为空,head不为空时将新加 阅读全文

posted @ 2018-12-19 18:04 本名边境 阅读(288) 评论(0) 推荐(0)

python的顺序表(list,tuple)
摘要:python顺序表的一般实现 list 是使用分离式技术的动态顺序表,初始是分配一个存储8个元素的存储区, 当存储区容量满时就换一个四倍大的存储区,如果当存储区很大时系统会改变 策略增加一倍的存储区。这里的很大目前值是50000 2、简单的判断是否为空或是否已满 如果num = 0 最创建的顺序表为 阅读全文

posted @ 2018-12-18 19:15 本名边境 阅读(826) 评论(0) 推荐(0)

梯度下降算法
摘要:引文:https://www.jianshu.com/p/c7e642877b0e,写的很详细 阅读全文

posted @ 2018-12-05 19:29 本名边境 阅读(122) 评论(0) 推荐(0)

线性回归
摘要:备注:本篇博客是查询网络上其他的资料,在加上自己的理解 一:介绍 线性模型的简单理解:如果我们已知样本服从高斯分布,那我们就敢于用线性回归,这才是学习算法的本质所在。 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我 阅读全文

posted @ 2018-11-22 14:08 本名边境 阅读(336) 评论(0) 推荐(0)

插入排序,选择排序,,希尔排序,冒泡排序,归并排序,快速排序,堆排序,基数排序
摘要:无 阅读全文

posted @ 2018-10-31 16:35 本名边境 阅读(224) 评论(0) 推荐(0)

线性回归
摘要:线性回归一般模型: y = w1 * x1 + w2 + x2 + ...+ w(n) * x(n) +b 对于多个特征的数据集而言,线性模型可以非常强大,如果特征数量大于训练数据点的数量,任何磨边y都可以在训练集上用线性函数完美拟合 线性回归又称 普通最小二乘法 线性回归寻找参数w和b,使得对训练 阅读全文

posted @ 2018-10-29 22:49 本名边境 阅读(214) 评论(0) 推荐(0)

K邻近算法
摘要:概述:k邻近最简单的就是只考虑一个最近邻。每一个新的数据点,我们标记了训练集中与它最近的点。 复杂的可以考虑任意(K个)邻居,新的数据在一定范围内属于多的训练集(少数服从多数) K邻近算法的有点就是容易理解,此方法是很好的基准方法,但是如果训练集很大的话,可能预测速度会比较慢。 阅读全文

posted @ 2018-10-29 22:38 本名边境 阅读(136) 评论(0) 推荐(0)

基础算法-->堆排序
摘要:堆的简单理解 以k1,k2,k3,k4.....kn为示例: 对于任意存在子节点的ki,k(2i)是其左子树节点,k(2i+1)是其右子树节点, 大堆序满足条件,k(i) >=k(2i) && k(i)>=k(2i+1) (1 ≤ i ≤ n/2) 小堆序满足条件,k(i) <= k(2i)且k(i 阅读全文

posted @ 2018-08-25 11:02 本名边境 阅读(153) 评论(0) 推荐(0)

基础算法 ---> 二分法
摘要:二分法本质: 二分法是以数组中间为分界线(这里k为中间索引), 当array[k] > num 则继续搜索数组前半部分 当array[k] < num 则继续搜索数组后半部分 方法一: 方法二: 注意:二分法只能查找有序的数列 阅读全文

posted @ 2018-08-15 15:24 本名边境 阅读(218) 评论(0) 推荐(0)

学习人工智能准备了解的算法
摘要:A 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A 搜索算法是最佳优先搜索的范例。 2、集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优 阅读全文

posted @ 2018-08-14 19:25 本名边境 阅读(185) 评论(0) 推荐(0)

导航