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
算法导论——python实践
算法----中位数算法的妙用(更新中)
中位数算法O(N)有许多妙用,能够在一些场合下替代排序O(NlgN)1.中位数算法求N个数组中的中位数即求第n/2大的数
算法导论
中给出了两种求第k大的数的算法算法1:随机算法平均复杂度O(n)思路:利用
L_J_SHOU
·
2020-08-16 21:16
Algo.
and
Data
structure
java递归解决最大子数组问题(
算法导论
4.1)
基本按照书上的流程实现了递归解决最大子数组问题,复杂度为O(nlgn)package最大子数组4_1;publicclassSolution{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubint[]arr=newint[]{13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,
舒酱酱酱酱酱
·
2020-08-16 20:06
算法导论
算法导论
之计算几何学
算法导论
之计算几何学2016年12月07日09:33:36fjssharpsword阅读数:3236更多所属专栏:
算法导论
专栏版权声明:本文为博主原创文章,未经博主允许不得转载。
pangshaohua
·
2020-08-16 19:56
线性代数
算法导论
笔记(四)
第七章快速排序对于包含n个数的输入数组来说,快速排序是一种最坏情况复杂度为。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好,期望时间复杂度时,另外还他们进行原址排序(需要的内存空间小)。该算法的思想是:对于数组A,选择一个主元r,并围绕它将数组划分为两个子数组,一个数组全部小于r,另一个数组全部大于r。递归的重复以上步骤,当划分子数组只包含一个元素时
luoning12
·
2020-08-16 19:01
【
算法导论
】同时求数组的最大值和最小值
算法导论
(第三版)第九章里提出过一个比较有意思的小问题:如何在最短的时间内求出一个n长数组中最大和最小问题。下面就来做一个实现。
苦_咖啡
·
2020-08-16 19:30
算法
算法导论
算法分析与设计——分治法实验报告
算法导论
课程设计成绩题目:
算法导论
课程设计实验报告学院班级:1613013学号:16130130216姓名:库妍主讲教师:张立勇日期:2019.6.3录分治法一、Implementexercise2.3
weixin_34353714
·
2020-08-16 16:51
Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《
算法导论
》伪代码)
为加深对各种基础排序算法的理解,我基于ThomasH.Cormen等《
算法导论
》中的伪代码,用Python实现了冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法。
Yunhe_Feng
·
2020-08-16 15:39
Algorithm
二分查找-两已排序数组中找中位数二题
第一题来自于《
算法导论
》第九章习题9.3-8.已知两个已排序数组X[n],Y[n](假设升序),问在时间O(lgn)内找到全部2n个数中的中位数。给了提示时间O(lgn),那么必定使用二分查找。
teaspring
·
2020-08-16 15:15
数据结构&算法
python实践
项目(四)
练习1:好玩游戏的物品清单你在创建一个好玩的视频游戏。用于对玩家物品清单建模的数据结构是一个字典。其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品。例如,字典值{'rope':1,'torch':6,'goldcoin':42,'dagger':1,'arrow':12}意味着玩家有1条绳索、6个火把、42枚金币等。写一个名为displayInventory()的函数,它接受
rs勿忘初心
·
2020-08-16 14:49
Python
python实践
8( 实现两个矩阵对应位置的数据相加)
#!/usr/bin/envpython#-*-coding:UTF-8-*-#两个3行3列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:X=[[12,7,3],[4,5,6],[7,8,9]]Y=[[5,8,1],[6,7,3],[4,5,9]]lenX=len(X)Z=[]foriinrange(lenX):temp=[]forjinrange(len(X[i])):temp.appen
bigear_yu
·
2020-08-16 12:25
02.Python(基础知识)
两个排序数组的中位数
求两个排序数组中位数,这道题是很有意思的一道题目,
算法导论
中9.3-8题,这题必须在O(logn)的时间复杂度求解,否则肯定悲剧。。。
alexingcool
·
2020-08-16 12:49
算法导论
(三版):第二章第三节课后题
第二章:算法基础第三节:设计算法2.3-1UsingFigure2.4asamodel,illustratetheoperationofmergesortonthearrayA={3;41;52;26;38;57;9;49}.excel已经存网盘:CLRS_exercises_2.3-12.3-2RewritetheMERGEproceduresothatitdoesnotusesentinels
silent狼
·
2020-08-16 10:45
算法
算法导论
(三版):第二章思考题
第二章:算法基础2-1InsertionsortonsmallarraysinmergesortAlthoughmergesortrunsinθ(nlgn)worst-casetimeandinsertionsortrunsinθ(n^2)worst-casetime,theconstantfactorsininsertionsortcanmakeitfasterinpracticeforsmal
silent狼
·
2020-08-16 10:45
算法
[
算法导论
]Floyd-Warshall算法及其证明[DP的经典应用]
可以为负权边,但是不可以有负权环。不仅可以solvetheall-pairsshortest-pathsproblem,butalsofindthetransitiveclosureofadirectedgraph.此算法基于以下观察:假设节点为V={1,2,3...,n},首先定义中间节点,考虑subset={1,2,...,k},对于任何一对节点(i,j),只考虑中间节点为subset的最短路
zhouweiabc
·
2020-08-16 10:57
算法
算法导论
数组排序问题的两种方法:插入排序算法和递归(分治)算法
1、插入排序这里通过
算法导论
中的伪代码说明算法过程。
lwj0723
·
2020-08-16 08:26
算法/数据结构
单源最短路径算法
参考资料:《
算法导论
》第24章:单源最短路径,《数据结构(C++语言版)》(邓俊辉)第六章:图单源最短路径算法,有两种比较经典的算法:一种是Dijkstra算法,此算法应用有限制,即只能用在图边的权重为正值的情况下
娃哈哈纯净李
·
2020-08-16 08:31
图
插入排序C语言实现代码
)&&(A[i]>key))//一直比较,将较小的牌移至左侧{A[i+1]=A[i];i=i-1;}//key牌此时一直在手中,未插入A[i+1]=key;//插入key牌}for(i=0;i代码改自
算法导论
第三版
syrangl
·
2020-08-16 08:59
算法导论
c语言
插入排序
插入排序
title:插入排序date:2019-07-1910:17:55summary:插入排序(Insertion-Sort)categories:数据结构和算法tags:[LeetCode,
算法导论
]题目
Jiavg_csdn
·
2020-08-16 07:20
LeetCode
算法
数据结构
所有点对的最短路径-FloydWarshall算法
找出所有点对的最短路径,经典算法是Floyd-Warshall,关于该算法,《
算法导论
》等书籍给了充分的推理介绍,但均显得过于理论化,阅读起来不容易理解。
midgard
·
2020-08-16 07:24
算法
算法导论
--单源最短路径问题(Dijkstra算法)
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51918844单源最短路径是指:给定源顶点s∈V到分别到其他顶点v∈V−{s}的最短路径的问题。Dijkstra算法采用贪心策略:按路径长度递增的顺序,逐个产生各顶点的最短路径。算法过程中需要维护一个顶点集S,此顶点集保存已经找到最短路径的顶点。还需要维护一个距离数
勿在浮砂筑高台
·
2020-08-16 07:26
Algorithm
算法导论--学习笔记
算法导论
笔记——第十五章 动态规划
更多博客,请访问我的个人网站点此访问一、概念部分第一部分比较抽象,建议先大体上浏览一下,有个初步印象,等熟悉第二部分的具体的例题之后,回过头再仔细总结这一部分。1.1动态规划法思想首先说明一点,动态规划(dynamicprogramming)中的programming指的是一种表格法,而不是编程的意思。动态规划法的思想妙就妙在这个“表格”上。根据动态规划思想,要求解一个问题,先求解它的子问题,然后
化简
·
2020-08-16 06:15
算法
【
算法导论
】24.3 Dijkstra算法
算法导论
24.3章中算法的C++实现,代码如下:/******************************************************************** *Copyright
李亚超
·
2020-08-16 05:53
算法导论
C/C++
直接插入排序算法
如下图:(上图来自
算法导论
)直接插入排序也是这样的思想。基本思想插入排序的思想是:将待排序序列分成两个序列,前面的序列保持有序,依次选取后面的序列的元素,在前面的序列中进行插入。
code随笔
·
2020-08-16 05:00
算法
算法导论
(第三版)第二章 算法基础
2.1插入排序开篇首先介绍了插入排序,插入排序伪代码如下:INSERTION-SORT(A)forj=2toA.lengthkey=A[j]//InsertA[j]intothesortedsequenceA[1..j-1]i=j-1whilei>0andA[i]>keyA[i+1]=A[i]i=i-1A[i+1]=key插入排序C语言实现在此接着定义了循环不变式。循环不变式非常重要,在以后大部分
HAHAHA9999?
·
2020-08-16 01:23
算法导论笔记
直接插入排序算法C++实现
最近开始学习
算法导论
,这篇文章就当作学习开篇了,有些简单的算法就只给出代码实现了,详细的介绍相信大家都能掌握,此标签下的算法都是以C++语言实现。
hello_ape
·
2020-08-15 23:00
算法学习
算法导论
学习10.1 两个栈共享一个数组 and 两个栈实现一个队列 and 两个队列实现一个栈
ArrayStack.h(顺序栈的基本操作)#include#include#defineMAXNUM4#defineOVERFLOW-1#defineUNDERFLOW-2typedefintelemtype;//顺序栈typedefstructArrayStack{elemtypedata[MAXNUM];inttop;}ArrayStack;//栈的置空voidInitStack(Array
王布斯
·
2020-08-15 19:03
c
算法导论
算法
struct
null
Java实现
算法导论
中最近点对问题分治法
最近点对问题:给定平面上的N个点,找出距离最近的两个点。分治法:1)如果数组长度(即点的个数,一般≤3)在一定范围内时直接求出最近点,蛮力求解,递归退出条件;2)求出这些点的X坐标的中位数mid3)以mid为界将所有点分为两组,分表放在表T1、T2中4)将T1、T2表转换为数组S1、S2,并将S1、S2分别按X坐标升序排列5)求S1中的点的最近距离6)求S2中点的最近距离7)求4、5中的两距离的最
fjssharpsword
·
2020-08-15 14:05
Algorithm
Java
算法导论专栏
分治法求最小点对(hdu1007)
《
算法导论
》上有详细讲解,王晓东的书上也有代码。主要思想就是分治。先把n个点按x坐标排序,然后求左边n/2个和右边n/2个的最近距离,最后合并。合并要重点说一下,比较麻烦。
__简言
·
2020-08-15 13:44
计算几何
算法导论
之矩阵链乘法详解
内容都是是
算法导论
上的,仅作为一个阅读笔记,记录一下自己阅读过程中碰到的一些问题。希望能对需要的同学有所帮助!
ZPengX
·
2020-08-15 13:08
算法
分治算法求最近点对
《
算法导论
》上有详细讲解,王晓东的书上也有代码。主要思想就是分治。先把n个点按x坐标排序,然后求左边n/2个和右边n/2个的最近距离
iteye_15968
·
2020-08-15 12:11
算法导论
--优先队列实现
仔细看了
算法导论
第六章,想实现里面的优先队列算法,结果调了好半天的bug才调对,写篇博客记录一下,写的不好之处,跪求各位dalao指点。
Vccxx
·
2020-08-15 11:00
c++数据结构与算法
《机器学习
Python实践
》第4章——Python和SciPy速成
1.Python速成1)复杂数据类型(1)元组:只读集合类型,用小括号定义,初始化后,元组的元素不能重新赋值。(2)列表:列表只能通过中括号定义,列表的元素可以重新赋值。(3)字典:可变容器模型,可存储任意类型的对象。字典的每个键值对(key,value)用冒号(:)分隔,每个键值对之间用逗号(,)分隔,整个字典包括在花括号({})中。2)with语句2.NumPy速成1)创建数组2)访问数组3)
__矮油不错哟
·
2020-08-15 09:21
Python3编程
java基础-取最大最小值的算法
参考
算法导论
的思路privatestaticint[]max_min_datas(int[]datas){intmax=0;intmin=0;if(datas.length/2==0){//偶数if(datas
fishtangtang1
·
2020-08-15 06:53
java
《
算法导论
(原书第3版)》一3.1 渐近记号
3.1渐近记号用来描述算法渐近运行时间的记号根据定义域为自然数集N={0,1,2,…}的函数来定义。这样的记号对描述最坏情况运行时间函数T(n)是方便的,因为该函数通常只定义在整数输入规模上。然而,我们发现有时按各种方式活用渐近记号是方便的。例如,我们可以扩展该记号到实数域或者选择性地限制其到自然数的一个子集。43然而,我们应该确保能理解该记号的精确含义,以便在活用时不会误用它。本节将定义一些基本
Rank92
·
2020-08-15 04:14
【
算法导论
】0-1背包问题 与 部分背包
【0-1背包】问题描述:n件物品,第i件物品价值v[i]元,重w[i]磅。希望用W磅的书包拿走总价值最贵的物品。(物品不可以分割故称为0-1背包)【部分背包】问题描述:n件物品,第i件物品价值vi元,重wi磅。希望用W磅的背包拿走最重的物品。第i件物品可以都拿走,也可以拿走一部分。(物品可以分割所以称为部分背包)注意:0-1背包不能用贪心算法求解。原因:按照贪心算法,每一次拿的都是每磅最贵的物品。
iteye_9065
·
2020-08-15 02:48
关于字符串的匹配搜索问题
具体的算法参见
算法导论
。利用KMP算法完成类似于strstr()的功能,打印一个字符串中所有以子串开头的组合。#include#includeusingnamespacestd;v
SeeSeaBee
·
2020-08-15 01:05
Introduce to algorithm--------pseudo code to C/C++ code (chapter 24)
通用算法基本点
算法导论
中介绍说,单源节点路径问题有
lgxZJ
·
2020-08-14 20:09
Introduce
to
algorithm
算法导论
Dijkstra
单源最短路径
Introduce to algorithm--------pseudo code to C/C++ code (chapter 23)
算法导论
中主要介绍了两种经典的算法:Kruskal算法Prim算法两种算法都采用贪心算法来解决问题。书中描述最小生成树的通用贪心解决方案都遵循一个循环不变式的边集合A:在每遍循环之前,A是某棵最
lgxZJ
·
2020-08-14 20:09
Introduce
to
algorithm
算法导论
第九章:中位数和顺序统计学
在一个有n个元素组成的集合中,第i个顺序统计量是该集合中第i小的元素。中位数是出现在i=(n+1)/2处(下中位)或i=(n+1)/2+1处(上中位)。9.1最小值和最大值在一个有n个元素的集合中,要做多少次比较才能确定其最小元素呢?可以很容易地给出n-1这个上界:依次查看集合中的每个元素,并记录比较过程中的最小元素。n-1也是这个问题的比较次数下界:对于任意一个确定最小值的算法,可以把它看做是在
longhuihu
·
2020-08-14 17:56
《算法导论》
网络流入门简介
在《
算法导论
》中就用了35页来讲述网络流的知识,在这里,给大家介绍网络流中的一些基本知识。网络首先,请分清楚网络(或者流网络,FlowNetwork)与网络流(Flow)的概念。
RioTian
·
2020-08-14 16:00
python实践
总结与反思
2019.6.20python近期实践总结与反思记录一些这两天python犯的一些低级却易犯的错误。千万不要犯第二次啊!!1.py文件名字问题py文件命名不能和调用的模块名一样!比如,我要调用csv模块importcsv,那么该文件名就不能再取csv.py!否则系统调用时,会调用csv.py本身,而不是真正的调用系统csv模块2.多行字符串中的注释问题若定义了一个多行字符串str='''...''
aiqinfei0297
·
2020-08-14 15:12
算法导论
第19章 二项堆
二项树和其他树一样,二项树也是递归定义的。如下图,二项树B0只包含一个节点。二项树Bk是由两颗二项树Bk-1连接而成:其中一棵是另外一棵树的根的左孩子。下图展现了二项树B0到B4。二项树的性质对于二项树Bk,有如下性质:1、有2^k个节点;2、树高为k;3、在深度i处,恰好有个节点;4、根的度为k,大于任何其他节点的度,并且,其子女从左到右的度一次为k-1.k-2...2.1.0。子女i是子树Bi
bravepam
·
2020-08-14 14:05
算法和数据结构
20天精读掌握《
算法导论
》 第19天 2019.1.29
20天精读掌握《
算法导论
》算法第19天2019/1.291.20日掌握
算法导论
计划概览2.今日学习成果3.今日时间表4.Atimelogger截图今天是2年修完清华6个CS类硕士学位第123天今日评分86
彪悍的人生不需要解释哈
·
2020-08-14 14:49
第二次月计划
算法
算法导论
代码 第19章 二项堆
第19章二项堆#include#include#include#include#includetypedefstructbinomial_heap*heap;structheap_node{void*key;intdegree;structheap_node*child;structheap_node*sibling;structheap_node*parent;};structbinomial_
MoXiaopeng
·
2020-08-14 13:44
算法
算法
struct
null
insert
merge
ini
算法导论
19-2 采用二项堆的最小生成树算法
一、题目二、分析1.算法先把每个顶点作为一个集合称为V,初始时每个Vi只有一个顶点i,随着算法的进行,会将一个集合合并,集合数量越来越少,而集合中的点越来越多。当只剩下一个集合时,算法结束。每个顶点集合对应一个边的集合,称为E,所有以顶点i为顶点的边都放入Ei中。将Vj合并到Vi的同时,也会把Ej合并到Ei中。任意选择一个顶点集合Vi,以及对应的Ei,从Ei中选择边权最小的边e,令e的两个端点分别
windmissing
·
2020-08-14 13:29
算法导论
基于数论变换的大整数乘法Java代码实现
前段时间看了
算法导论
上关于FFT的那一章,突发奇想:能不能用这种方法实现大整数的乘法呢?经过自己的思考,以及网上查找资料,得出了一个不算完美的方案,但是也能够处理上千位的大整数之间的乘法了。
woodbean
·
2020-08-14 08:52
java
exception
string
fft
integer
numbers
快速排序的复杂度分析以及使用插入排序优化的快速排序
首先,对快速排序分析可知,在一个包含n个元素的数组上运行快速排序时,记总共的两个元素之间的比较次数为X,则快速排序的运行时间为O(n+X)(
算法导论
第三版7.4.2节引理7.1)。
HAHAHA9999?
·
2020-08-14 07:05
排序算法
算法入门
Python,你为什么要学map,不是因为你不知道家的方向,看了就懂
本文授权转载自机器学习算法与
Python实践
禁止二次转载大家好,我是老表阅读文本大概需要8分钟Python,你为什么要学zip,不是因为你的存储空间不够,看了就懂Python,你为什么要学enumerate
简说Python
·
2020-08-14 07:53
算法笔记(1)—— 各类排序算法
排序算法主要是
算法导论
的内容,第二章提到插入排序、归并排序(递归、分治)另外补充了的排序方法冒泡排序、选择排序、快速排序具体思路可以参考百度百科感觉已经讲得很详细,都是基础算法以下代码是自己的一些理解,
猪无戒_
·
2020-08-14 07:12
算法笔记
最小生成树kruskal算法并查集版 C语言实现
今天数据结构课讲了最小生成树的Kruskal算法和Prim算法,不过都只是概念,可能是怕他们听不懂吧,反正算法实现一概不讲...囧下午抱着《
算法导论
》跑去图书馆看Kruskal算法,发现《
算法导论
》真的是牛
lewutian
·
2020-08-14 07:26
Algorithm
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
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
其他