E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【算法导论】
IT同行请教我如何培养读书习惯,结果就是“读了1本书,并写下'读《成交》有感'一文”...
象《
算法导论
》之类的,我也只看了几章,挺惭愧的。为了培养前辈的读书习惯,我建议他首先阅
qq_33974741
·
2020-07-01 00:57
记我的程序员之路(手动滑稽)---- 2017.6.6更新
起始结束事件2017.6.6入职纳米娱乐2017.6.4《
算法导论
》2017.5.282017.6.4《数据结构与算法--Python语言实现》暂到第7章2017.5.242017.5.28《Python
Cichar
·
2020-06-30 21:34
通俗易懂的深度学习
算法导论
和机器学习的异同相同点:都是输入,计算,得到结果。差异:
算法导论
:以f(x)=w*x为例,其实就是人为的设定w的过程。但x是离散变量不是连续变量,不然就是高中数学题了。
gnocuohz
·
2020-06-30 20:56
Tensorflow
【
算法导论
】矩阵乘法strassen算法
矩阵运算在做科学运算时是必不可少的,如果采用matlab来计算,这倒也容易。但是如果是自己写c或者c++代码,一般而言,需要做三次循环,其时间复杂度就是O(n^3)。上图给出了我们一般会采用的方法,就是对应元素相乘和相加。如果把C=A*B进行分解,可以看出,这里需要进行8次的乘法运算:分别是:r=a*e+b*g;s=a*f+b*h;t=c*e+d*g;u=c*f+d*h;本文介绍的算法就是stra
spencer_chong
·
2020-06-30 17:58
Data
Structure
and
Algorithm
Programmer Study Guide-游戏程序员指南
《IntroductiontoAlgorithms》第二版中文名《
算法导论
》关于算法的标准学习教
张腾元-Ternence
·
2020-06-30 14:12
Guide
算法导论
第八章思考题
8-1(比较排序的概率下界)在这一问题中,我们将证明对于给定的n个互异的输入元素,任何确定或随机的比较排序算法,其概率运行时间都有下界Ω(nlgn)。首先分析一个确定的比较排序算法A,其决策树为Ta,假设A的输入的每一种排列情况都是等可能的。a)假设Ta的每个叶子结点都标有在给定的随机输入情况下到达该结点的概率。证明:恰有n!个叶子结点标有1/n!,其他的叶结点标记为0.因为对于n个元素有n!种可
Flammable_ice
·
2020-06-30 12:33
《算法导论》
程序员的灵魂!算法
因为难学,因为易学难精,因为用不上,因为我们懒,因为《
算法导论
ys1030
·
2020-06-30 09:45
互联网
人工智能
算法导论
1.2-2
考虑线性查找。假设要查找的元素可能落在数组中,则平均要查找多少个元素?最坏情况下呢?以Θ形式表示又怎样?staticvoidMain(string[]args){int[]A={31,41,59,26,41,58};Console.WriteLine("找了:"+find(A,26)+"次");Console.ReadLine();}privatestaticintfind(int[]A,intv
yeness
·
2020-06-30 07:12
算法
string
算法导论
— 15.3 动态规划原理
笔记本节关注在什么情况下适用动态规划方法。适合用动态规划方法求解的问题应该具备两个要素:最优子结构和子问题重叠。1.最优子结构以两个例子来说明如何判断一个问题是否具有最优子结构。给定一个有向图G=(V,E)和两个顶点u,v∈V。考虑下面两个问题。(1)无权最短路径:找到一条从u到v的边数最少的路径。这条路径必然是简单路径,因为如果路径中包含环,将环去掉显然可以减少边数。无权最短路径问题具有最优子结
yangtzhou
·
2020-06-30 06:13
算法导论
算法导论
— 思考题3-3 根据渐近增长率排序
(根据渐近增长率排序)a.根据增长的阶来排序下面的函数,即求出满足g1=Ω(g2),g2=Ω(g3),…,g29=Ω(g30)g_1=Ω(g_2),g_2=Ω(g_3),…,g_{29}=Ω(g_{30})g1=Ω(g2),g2=Ω(g3),…,g29=Ω(g30)的函数的一种排序g1,g2,…,g30g_1,g_2,…,g_{30}g1,g2,…,g30。把你的表划分成等价类,使得函数f(n)f
yangtzhou
·
2020-06-30 06:39
算法导论
算法导论
— 15.2 矩阵链乘法
笔记本节给出了一个关于矩阵链相乘问题的动态规划算法。给定一个n个矩阵的矩阵链,要计算它们的乘积。矩阵乘法满足结合律,所以通过加括号,一个矩阵链的乘法可以按照不同的顺序进行。例如,4个矩阵的矩阵链,共有5种加括号的方式:加括号的方式对矩阵链乘法的时间代价产生巨大的影响。我们先来分析两个矩阵相乘的时间代价。下面的代码给出了两个矩阵相乘的标准算法。两个矩阵A和B只有相容,即A的列数等于B的行数时,才能相
yangtzhou
·
2020-06-30 06:39
算法导论
算法导论
— 15.5 最优二叉搜索树
###笔记二叉搜索树满足如下性质:假设xxx是二叉搜索树中的一个结点。如果lll是xxx的左子树的一个结点,那么l.key≤x.keyl.key≤x.keyl.key≤x.key。如果rrr是xxx的右子树的一个结点,那么r.key≥x.keyr.key≥x.keyr.key≥x.key。也就是说,二叉搜索树中的任意一个结点,它的左子树中的所有结点都不大于它,它的右子树中的所有结点都不小于它。下图
yangtzhou
·
2020-06-30 06:39
算法导论
算法导论
— 思考题4-1 递归式例子
(递归式例子)对下列每个递归式,给出T(n)T(n)T(n)的渐近上界和下界。假定n≤2n≤2n≤2时T(n)T(n)T(n)是常数。给出尽量紧确的界,并验证其正确性。a.T(n)=2T(n/2)+n4T(n)=2T(n/2)+n^4T(n)=2T(n/2)+n4b.T(n)=T(7n/10)+nT(n)=T(7n/10)+nT(n)=T(7n/10)+nc.T(n)=16T(n/4)+n2T(n
yangtzhou
·
2020-06-30 06:09
算法导论
算法导论
— 15.1 钢条切割
笔记本节给出一个寻找钢条最优切割方案的问题。公司购买长钢条,将其切割为短钢条出售。为简化分析,假设切割过程本身没有成本,并且切割下来的短钢条长度都为一英寸的整数倍。下表给出了不同长度的钢条的价格。钢条切割问题:给定一根长度为n英寸的长钢条,求最优切割方案,使得销售收益最大。注意,最优方案也有可能是完全不用切割。长度为n英寸的钢条有种切割方案,因为在距离钢条左端i(i=1,2,…,n-1)英寸处,我
yangtzhou
·
2020-06-30 06:09
算法导论
算法导论
— 4.5 用主方法求解递归式
笔记利用主定理可以对形如T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f(n)的递归式直接求解。下面先给出主定理的描述。令a≥1a≥1a≥1和b>1b>1b>1是常数,f(n)f(n)f(n)是一个函数,T(n)T(n)T(n)是定义在非负整数上的递归式:T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f
yangtzhou
·
2020-06-30 06:08
算法导论
算法导论
— 4.4 用递归树方法求解递归式
笔记在应用代入法求解递归式时,需要事先做出一个好的猜测。然而,有时候做出好的猜测是很困难的,此时可以考虑采用递归树方法。在递归树中,每个结点表示一个单一子问题的代价。创建递归树之后,对树的每层的各子问题的代价进行求和,得到每一层的代价,然后将所有层的代价加起来,得到整棵递归树的总代价,这个总代价就是递归式的解。当然,递归树方法是一种粗略的方法,因为递归树会引入一些“不精确”因素,这一点在后文再详细
yangtzhou
·
2020-06-30 06:08
算法导论
算法导论
— 思考题8-1 比较排序的概率下界
(比较排序的概率下界)在这一问题中,我们将证明对于给定的nnn个互异的输入元素,任何确定或随机的比较排序算法,其概率运行时间都有下界Ω(nlgn)Ω(n{\rmlg}n)Ω(nlgn)。首先来分析一个确定的比较排序算法AAA,其决策树为TATATA。假设AAA的输入的每一种排列情况都是等可能的。a.假设TATATA的每个叶结点都标有在给定的随机输入情况下到达该终点的概率。证明:恰有n!n!n!个叶
yangtzhou
·
2020-06-30 06:07
算法导论
算法导论
— 思考题8-3 变长数据项的排序
(变长数据项的排序)a.给定一个整数数组,其中不同的整数所包含的数字的位数可能不同,但该数组中,所有整数中包含的总数字位数为nnn。设计一个算法,使其可以在O(n)O(n)O(n)时间内对该数组进行排序。b.给定一个字符串数组,其中不同的字符串所包含的字符数可能不同,但所有字符串中的总字符个数为nnn。设计一个算法,使其可以在O(n)O(n)O(n)时间内对该数组进行排序。(注意:此处的顺度是指标
yangtzhou
·
2020-06-30 06:07
算法导论
算法导论
— 4.2 矩阵乘法的Strassen算法
笔记给定两个n×nn×nn×n正方矩阵AAA和BBB,这两个矩阵的乘法定义为其中下面是矩阵乘法的伪代码。很显然,执行SQUARE-MATRIX-MULTIPLY需要花费Θ(n3)Θ(n^3)Θ(n3)时间。然而,有一种方法可以花费更少的时间,这就是Strassen算法,它本质上也是一种分治法,它的时间复杂度为Θ(nlg7)=O(n2.81)Θ(n^{{\rmlg}7})=O(n^{2.81})Θ(
yangtzhou
·
2020-06-30 06:07
算法导论
算法导论
— 4.3 用代入法求解递归式
笔记代入法求解递归式分为两步:1)猜测解的形式。2)用数学归纳法证明猜测的解是正确的。例如,我们要确定递归式T(n)=2T(⌊n/2⌋)+nT(n)=2T(⌊n/2⌋)+nT(n)=2T(⌊n/2⌋)+n的上界。我们猜测其解为T(n)=O(nlgn)T(n)=O(n{\rmlg}n)T(n)=O(nlgn),这意味着存在正常数ccc和n0n_0n0,使得T(n)≤cnlgnT(n)≤cn{\rml
yangtzhou
·
2020-06-30 06:07
算法导论
算法导论
— 思考题8-5 平均排序
(平均排序)假设我们不是要完全排序一个数组,而只是要求数组中的元素在平均情况下是升序的。更准确地说,如果对所有的i=1,2,…,n−ki=1,2,…,n−ki=1,2,…,n−k有下式成立,我们就称一个包含nnn个元素的数组AAA为kkk排序的(kkk-sorted):∑j=ii+k−1A[j]k≤∑j=i+1i+kA[j]k\frac{\sum_{j=i}^{i+k-1}{A[j]}}{k}≤\
yangtzhou
·
2020-06-30 06:07
算法导论
算法导论
· 分支界限 · 旅行商问题
源代码#include#include#include#include#defineINF100000usingnamespacestd;intn;intmp[100][100];structnode{intvisp[22];//标记哪些点走了intst;//起点intst_p;//起点的邻接点inted;//终点inted_p;//终点的邻接点intk;//走过的点数intsumv;//经过路径
YDDUONG
·
2020-06-30 05:10
Algorithm
2016-11-24
好困,写完赶紧睡觉今天早上赶在第3节课前把项目用例描述写完了(:зゝ∠),感觉都快写哭了然后上《
算法导论
》讲了求单元路径最短问题,思想是“松弛技术”,然后又讲了每对求路径最短问题,笔记之后补,还有上机作业
Courage_CYY
·
2020-06-30 04:49
DFS与BFS详解(很不错的)
算法那些事儿转载至http://www.cnblogs.com/pengyingh/articles/2396432.html作者July---------------------咱们由BFS开始:首先,看下
算法导论
一书关于此
&代码收割机
·
2020-06-30 04:02
BFS
DFS
算法导论
笔记(二) : 优先级队列
1堆与优先级队列堆排序是一个不错的原地排序算法.但是一个实现较好的快速排序会优于堆排序。但是堆数据结构有一个非常重要的用处,就是作为高效的优先级队列.与堆一样优先级队列也有两种:最大优先级队列和最小优先级队列.2优先级队列及其操作优先级队列是一种用来维护由一组元素构成的集合S的数据结构.这一组元素的每一个都有一个关键字Key.一个最大优先级队列支持以下操作:(i)INSERT(S,x):把元素x插
方橙
·
2020-06-30 04:32
算法导论
算法导论
笔记(五) :基数排序与C++实现
1基数排序介绍基数排序是一种用在老式穿卡机上的算法。该算法在对每一位数进行排序的时候需要是稳定的:在该为相同的数的相对顺序不会变.因此可以使用上节的计数排序作为其子程序.下边演示一个基数排序的过程:2基数排序的过程计数排序的过程很简单。即从最低位到最高位的每一位进行计数排序.3算法实现#ifndef__RADIXSORT_H__#define__RADIXSORT_H__#include#incl
方橙
·
2020-06-30 04:32
算法导论
算法导论
笔记(四) : 计数排序
1计数排序概述计数排序假设待排序数组中每一个元素都是0到k间的一个整数.如果k=O(n),则计数排序运行的时间为O(n).2计数排序执行过程(i)填充辅助数组C(C的长度为K),数组A中的每一个元素都在C的对应位置加1.(ii)对C进行计算使得C[i]=C[i]+C[i-1](iii)从后向前遍历A数组,根据该元素的值找到C中对应位置的数。将该数字作为索引将当前元素填到结果数组B中.(iv)C中对
方橙
·
2020-06-30 04:32
算法导论
算法导论
笔记(六) :桶排序及其C++实现
1桶排序简介与计数排序类似,桶排序也是对输入数据做了某种假设.因此运行的很快.桶排序假设输入数据由一个随机过程产生.该过程将元素随机而独立的分布在[0,1)区间.2桶排序过程(i)将[0,1)区间划分为n个大小相同的区间(桶)(ii)将各元素放入对应的桶中.(iii)对每个桶里的元素进行排序(vi)一次列出各个桶里的元素下边是桶排序的一个实例:3完整代码#ifndef__BUCKETSORT_H_
方橙
·
2020-06-30 04:32
算法导论
算法导论
笔记(三) : 快速排序
1快速排序简介快速排序的最坏情况的运行时间为O(n^2),虽然这个最坏情况运行时间比较差。但快速排序通常是用于排序的最佳的实用选择.这是因为其平均性能相当好.期望的运行时间为O(nlgn)并且隐含的常数因子比较小.并且快速排序是就地排序.2快速排序过程快速排序基于以下分治模式:(i)分解:数组A[p,r]被划分为两个子数组A[p,q-1](所有元素小于A[q])和A[q+1,r](所有元素大于A[
方橙
·
2020-06-30 04:32
算法导论
java程序员必看基础书籍
2、《
算法导论
(第三版)》被很多acme
肖晓晓
·
2020-06-30 04:11
《
算法导论
》第二章思考题——逆序对(python实现)
设A[1..n]是一个包含n个不同数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对,给出任意一个数组,计算逆序对个数。借助归并排序思想可以得到O(nlogn)的最坏运行时间。归并排序的想法是先分开左右两个子序,每个子序列排序后再合并。这里求逆序对也是一样,分开后先计算每个子序内部的逆序对数量并将其从大到小进行排列,在合并时,计算子序之间的逆序对。假定在某步需要合并两个有序的子序列A=
xuqn0606
·
2020-06-30 04:09
算法
九大排序算法再总结
blog.csdn.net/xiazdong本文是http://blog.csdn.net/xiazdong/article/details/7304239的补充,当年看了《大话数据结构》总结的,但是现在看了《
算法导论
xiazdong
·
2020-06-30 01:42
【算法导论】
leetcode53之最大连续子数组和
分治的方法在
算法导论
上面做过,将数组分成两个部分,分别求出最
windyear
·
2020-06-30 01:19
算法
算法设计经典书籍推荐
1.CLRS
算法导论
算法百科全书,只做了前面十几章的习题,便感觉受益无穷。2.Algorithms算法概论短小精悍,别据一格,准经典之作。一个坏消息:同
算法导论
,该书没有习题答案。
xiaoding133
·
2020-06-30 00:14
文章
[数据结构]稀疏矩阵乘法算法实现
算法名稀疏矩阵乘法SparseMatrixMultiplication分类数据结构复杂度O(n^2)形式与数据结构C++代码一维结构体存储特性极简封装不使用链表不需要转置计算过程容易理解具体参考出处《
算法导论
LeeLeeLee钟硕
·
2020-06-29 23:11
数据结构
LeetCode网站关于Tree的分析解答(1)深度搜索
具体的原理可以参考《
算法导论
》。对于Tree的深度搜索问题的解题模式:1)首先判断是否能够用深度搜索策略(DFS)解决问题。
wxcwys
·
2020-06-29 22:44
数据结构与算法
tree
红黑树的经典介绍
本文参考了《
算法导论
》中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明。本文的主要内容包括:红黑树的特性,红黑树的时间复杂度和它的证明,红黑树的左旋
长弓的坚持
·
2020-06-29 20:00
数据结构
红黑树旋转
左旋的伪代码《
算法导论
》:参考上面的示意图和下面的伪代码,理解“红黑树T的节点x进行左旋”是如
喜欢吃肉的饭
·
2020-06-29 19:09
数据结构&算法
数据结构和算法——学习资料(更新...........)
TheArtofComputerProgramming》(简称TAOCP)DonaldE.Knuth著,维基百科:https://zh.wikipedia.org/wiki/计算机程序设计艺术这是一套丛书,计划一共会出7卷,现在已经出了4卷《
算法导论
wjheha
·
2020-06-29 19:05
数据结构和算法
算法-排序-归并排序(MergeSort)分析
由于该算法比较简单,所以直接给出
算法导论
中的算法伪代码。后续将着重算法分析。
winnerbao
·
2020-06-29 18:12
算法与数据结构
如何用多线程实现归并排序
等我有时间了,一定要把《
算法导论
》啃完,这本书的印刷质量实在太好了,滑稽。
hujianbest
·
2020-06-29 18:12
算法思想
第三部分--数据结构-第10章--基本数据结构
说明:该系列博客整理自《
算法导论
(原书第二版)》,但更偏重于实用,所以晦涩偏理论的内容未整理,请见谅。另外本人能力有限,如有问题,恳请指正!基本数据结构包括:栈、队列、链表、有根树。
黑夜0411
·
2020-06-29 11:01
插入排序
插入排序最近无聊在啃
算法导论
,里面的东西有点难懂,隔三差五就是一串英文。所以准备讲解一下里面的东西。第一个算法就是“插入排序”。
兄主的仙人掌
·
2020-06-29 09:43
《算法导论》讲解员
算法导论
学习笔记15_最短路径
最短路径1.单源最短路径1.1Bellman-Ford算法1.2有向无环图的单源最短路径1.3Dijkstra算法2.所有结点对的最短路径问题2.1Floyd-Warshall算法3.算法实现(C++)3.1Bellman-Ford算法3.2有向无环图的单源最短路径3.3Dijkstra算法3.4Floyd算法1.单源最短路径1.1Bellman-Ford算法Bellman-Ford算法解决一般情
WavenZ
·
2020-06-29 08:53
算法
算法导论
观后感一
此文章只作为自己看
算法导论
的一些理解和想法,希望自己能坚持下去。算法的在计算中的应用什么是算法?算法的作用?为什么要研究算法?对于算法我常有的想法是必然和数学相关,而且必定是高等数学之上的。
SHSF飚
·
2020-06-29 07:02
算法
《
算法导论
》第2章算法基础——代码实现(Python)
#插入排序(非降序)A=[5,2,4,6,1,3]j=1length=len(A)forjinrange(1,length):key=A[j]i=j-1whilei>-1andA[i]>key:A[i+1]=A[i]i=i-1A[i+1]=keyprint(A)#插入排序(非升序)A=[5,2,4,6,1,3]j=1length=len(A)forjinrange(1,length):key=A[
思郁念忆
·
2020-06-29 06:18
算法导论
算法
python
非CS专业计算机科学与技术学习路径
非CS专业计算机科学与技术学习路径个人观点,后期会根据学习情况更新一、书单
算法导论
计算机组成与设计——硬件/软件接口深入理解计算机系统计算机网络操作系统——精髓与设计原理操作系统原理操作系统设计与实现计算机系统结构
我鬼生
·
2020-06-29 04:30
Learning
算法导论
(五):线性时间排序
麻省理工学院公开课:
算法导论
。B站地址,网易公开课也有对应的资源。https://www.bilibili.com/video/av1149902/?
LuLuX
·
2020-06-29 01:13
《
算法导论
》第十九章——斐波那契堆
虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!可合并堆可合并堆是支持以下5种操作的一种数据结构,其中每个元素都有一个关键字:MakeHeap():创建和返回一个新的不含任何元素的堆Insert(H,x):将一个已填入关键字的元素x插入
巨萌新
·
2020-06-29 00:42
算法导论
斐波那契堆
良心写博
子集和数问题_回溯
有人说
算法导论
中没有回溯和分支定界这两种算法。我觉得这个算是导论中算法的应用吧,废话不多说,走起。回溯算法之子集和数问题。
weixin_34336292
·
2020-06-28 17:06
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他