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
算法设计与分析
【
算法设计与分析
】08 序列求和的方法
本篇文章学习数列求和的一些方法。这些方法对后面学习算法的时间复杂度非常有帮助。文章目录1.数列求和公式1.1二分搜索的时间复杂度求解2估计和式上届的放大法3估计和式渐近的界4总结1.数列求和公式下面这几个数列求和公式都是高中学过的公式。等差、等比数列和调和级数下面给出一个求和的例子,使用了一些高中都会的变换的技巧:学习上面的公式,主要是为了解决算法的时间复杂度,下面以二分搜索的时间复杂度为例,讲解
杨柳_
·
2019-09-15 15:57
算法设计与分析
算法
数列求和
时间复杂度
算法设计与分析
【
算法设计与分析
】06 几类重要的函数
本篇文章中会用到上一篇文章的定理:【
算法设计与分析
】05有关函数的渐进的界的定理主要学习常见的一些函数的阶1.基本函数类以下按阶的高低排序:至少指数级:2n,3n,n!
杨柳_
·
2019-09-15 00:24
算法设计与分析
【
算法设计与分析
】05 有关函数的渐进的界的定理
点击查看上一篇文章:【
算法设计与分析
】04函数的渐进的界文章目录1.定理11.1证明定理11.2估计函数的阶1.3一些重要的结论1.31多项式函数的阶低于指数函数的阶1.32对数函数的阶低于幂函数的阶2
杨柳_
·
2019-09-14 21:01
算法设计与分析
算法设计与分析
——线性时间选择
privatestaticComparable(intp,intr,intk){if(p==r){returna[p];}inti=randomizedaparttition(p,r);intj=i-p+1;//a[p:i]中元素的个数if(k<=j){returnrandomizeSelect(p,i,k);}else{returnrandomizeSelect(i+1,r,k-j);}}找出的
王陸
·
2019-09-13 20:00
算法设计与分析
——快速排序
快速排序是基于分治策略的另一种排序算法,其基本思想是,对于输入的子数组a[p:r],按照以下3个步骤进行排序。privatestaticvoidqSort(intp,intr){if(px的元素交换到右边区域while(true){while(a[++i].compareTo(x)0);if(i>=j)break;MyMath.swap(a,i,j);}a[p]=a[j];a[j]=x;retur
王陸
·
2019-09-13 17:00
《
算法设计与分析
》第一次作业
编码规范一、java文件组织文件组织规则:由于超过2000行的程序难以阅读,应该尽量避免出现超过2000行的程序。一个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。公共类必须是这个文件中的第一个类或接口。文件组织顺序:1.文件注释:所有的源文件都应该在开头有一个注释,其中列出文件的版权声明、文件名、功能描述以及创建、修改记录:2.
月Raido
·
2019-09-08 21:00
算法设计与分析
——整数划分(递归)
参考https://www.cnblogs.com/jinhong123/p/7909689.htmln=m1+m2+...+mi;(其中mi为正整数,并且1=6)根据n和m的关系,考虑以下几种情况:1.当n=1时,不论m的值为多少(m>0),只有一种划分即{1}。因此q(1,m)=1。2.当m=1时,不论n的值为多少,只有一种划分即n个1,{1,1,1,...,1}。因此q(n,1)=1。;3.
王陸
·
2019-09-08 16:00
《计算机
算法设计与分析
》--代码规范以及《数学之美》读后感
一、代码规范1、变量的命名规则要求用“匈牙利法则”即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。2、对齐(Alignment)与缩进(indent)——保证代码整洁、层次清晰的主要手段-“{位置的两种风格{和}
走位,走位
·
2019-09-08 10:00
算法设计与分析
——自然合并排序(分治法)
合并排序是利用分治策略对n个元素进行排序的算法,其基本思想是:将待排序元素分为大小大致相同的2个子集合,分别对这两个子集合进行排序,最终将排序好的子集合合并为所要求的的排好序的集合,递归写法如下:publicstaticvoidmergeSort(Comparable[]a,intleft,intright){if(leftc[j]{d[k++]=c[j++]}}//将剩下的元素存到数组中whil
王陸
·
2019-09-07 13:00
算法设计与分析
——分治法解棋盘覆盖问题
Description在一个2kx2k个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。Inputk,dr,dc。k定义如前,dr,dc分别表示特殊方格所在的行号和列号1=0时,将2k×2k棋盘分割为4个2k-1×2k-1子棋盘
王陸
·
2019-09-04 20:00
算法设计与分析
——分治法求最大值和最小值
Description给定n个数,在最坏情况下用3n/2-2次比较找出这n个数中元素的最大值和最小值。要求只编写函数voidmaxmin(inta[],intlow,inthigh,int*max,int*min).系统会自动在程序的最后加上如下代码:intmain(){intmax,min,k,a[200];intm;while(scanf("%d",&k)&&k){for(m=0;m#incl
王陸
·
2019-09-04 17:00
『嗨威说』
算法设计与分析
- 第一章作业整理(编码规范 / 数学之美 / 未来计划)
本文索引目录:一、编码规范的选择与养成二、《数学之美》三、本学期算法学习的计划安排一、编码规范的选择与养成:与搭档可欣达成共识,在接下来的算法学习和团队制作过程中,遵循以下编码规范:https://www.cnblogs.com/linuxAndMcu/p/11303688.html并根据阅读筛选合适的编码规则如下:(1)版权和版本的声明:版权和版本的声明位于头文件的开头,主要内容有:1)版权信息
嗨威er
·
2019-09-02 01:00
博客目录与概览
其中,《深入理解机器学习》系列和《深入理解深度学习》系列主要介绍了机器学习算法和深度学习算法的推导与实现,而《
算法设计与分析
》系列则主要介绍算法学基础的相关知识。另外
洪远
·
2019-08-31 00:00
算法第一章作业
1.在
算法设计与分析
课程中,我将采用C++进行编程,相关编程规范的链接为https://www.jianshu.com/p/df03f2def39d。
Seper
·
2019-08-29 20:00
华科计科课程
(C语言版)》(严蔚敏、吴伟民清华大学出版社)(48h)大二(下):《信号与线性系统》(40h)、《汇编语言程序设计》(24h)、《计算机系统基础》(选修)大三(上):《C++程序设计》(56h)、《
算法设计与分析
西木木亢
·
2019-08-17 20:25
华科计科课程
(C语言版)》(严蔚敏、吴伟民清华大学出版社)(48h)大二(下):《信号与线性系统》(40h)、《汇编语言程序设计》(24h)、《计算机系统基础》(选修)大三(上):《C++程序设计》(56h)、《
算法设计与分析
西木木亢
·
2019-08-17 20:25
图◆单源最短路径 | Dijkstra
单源最短路算法总结byliuchuo大佬单源最短路from北大-
算法设计与分析
此视频的下一p是Dijkstra算法正确性的证明Dijkstra算法的策略全部结点V源点src集合S:目前已达结点集合,即已经确定最短路的结点的集合
电车上那个cll呀
·
2019-08-08 14:42
《
算法设计与分析
》--动态规划算法随笔
1、动态规划算法的定义其实道理上来说动态规划算法和分治法是相类似的,其实都是将基本待求解的问题分解成若干个子问题,先求解子问题,然后再从这些子问题中得到原问题的解。与分治法的不同点在于使用动态规划求解的这类问题的子问题往往不是互相独立的,若果是使用分治法解这类问题,则分解得到的子问题数目太多。2、比较分析我们在使用分治法求解时,有些子问题已经被重复计算了许多次。要是我们提前可以保存已经解决的子问题
袁家小少爷
·
2019-07-04 11:52
算法
动态规划
分治算法
计算机
算法设计与分析
(第五版)---王晓冬--------前六章(递归与分治,动态规划,贪心算法,回溯法,)期末复习资料总结
--1--算法:解决问题的一种方法或者一个求解过程是若干指令的序列输入输出有限性确定性程序:用某种设计语言对算法的具体实现可以不满足有限性程序=算法+数据结构果子合并问题(动态规划)、百钱百鸡(限制循环次数,两重循环)、货郎担问题(穷举不行)算法复杂性:体现在运行该算法所需要的计算机资源的多少最重要资源:时间、空间时间复杂性、空间复杂性影响因素:问题规模、算法输入、算法本身的函数最差时间复杂度是最
J_SUNV
·
2019-07-04 10:45
算法设计与分析
---时间任务安排问题
问题描述具有截止时间和误时惩罚的任务安排问题可描述如下。(1)给定n个任务的集合S={1,2,…,n}S={1,2,…,n};(2)完成任务i需要titi时间,1≤i≤n1≤i≤n;(3)任务i的截止时间didi,1≤i≤n1≤i≤n,即要求任务i在时间didi之前结束;(4)任务i的误时惩罚wiwi,1≤i≤n1≤i≤n,即任务i未在时间didi之前结束将招致wiwi的惩罚;若按时完成则无惩罚。
Austin_
·
2019-07-01 07:15
【
算法设计与分析
】leetcode中几道buy and sell的题目总结
这篇笔记主要记录leetcode几道buyandsell的题目解析的过程。包括:121(Easy)BestTimetoBuyandSellStock122(Easy)BestTimetoBuyandSellStockII123(Hard)BestTimetoBuyandSellStockIII309(Medium.)BestTimetoBuyandSellStockwithCooldown1.(E
AXIMI
·
2019-06-25 19:19
leetcode
算法设计与分析
哈工大
算法设计与分析
复习
私以为这是工大开的最差的课之一1.图的最大匹配和完美匹配:最大匹配:图已经不能再加入任意一条边,否则顶点相交完美匹配:浸润图中的所有顶点。2.分支限界算法是按照广度优先的方法搜索解空间树。5.爬山法:6.best-first-serch解决这个问题的思想是:维护一个堆,每次对于堆顶进行操作,如果堆顶是要找的元素,直接返回,否则将堆顶生成的子树加入堆,删除堆顶。...8.A*算法—很巧妙:
canaryW
·
2019-06-15 12:14
【
算法设计与分析
】图
参考来源:http://www.cse.iitd.ac.in/~rjaiswal/2012/csl356/严蔚敏,李冬梅,吴伟民:数据结构1.介绍图是一种比线性表和树更为复杂的数据结构。1.1图的定义图G由两个集合V和E组成,记为,其中V是顶点的有穷集合,E是顶点偶对(边)的有穷集合。通常代表图G的顶点集合和边集合。若为有向边的集合,则该图为有向图;若为无向边的集合,则该图为无向图。1.2图的基本
xzen
·
2019-06-14 12:53
算法设计与分析
算法设计与分析
基础 PDF免费下载 附书单
该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索
算法设计与分析
这一迷人领域。
KangHuasen
·
2019-06-13 11:05
资源下载
2019高考编程卷:谷歌面试编程题及解题技巧(MIT版)
courses.csail.mit.edu/iap/interview/index.php本课程重点介绍科技公司在面试时经常出现的计算机科学问题,其中包括时间复杂度、哈希表、二进制树搜索,以及MIT「
算法设计与分析
机器之心
·
2019-06-07 12:00
高考
编程
谷歌
算法设计与分析
实验报告
实验一集合的表示与操作算法设计https://www.cnblogs.com/31415926535x/p/10963938.html实验目的通过这次实验了解体会并掌握基本的递归分治算法以及贪心算法的思想,并有能力解决一些具体的问题,通过c++来实现解题的过程,进一步的熟悉算法的流程。实验内容实验大致分为三部分:概述、递归与分治策略、贪心算法。对于每一类问题,选择至少一道题目进行思考并用代码验证算
31415926535x
·
2019-06-02 19:00
算法设计与分析
第二章复习
递归与分治本文主要讲解合并排序算法算法思想:分而治之,将一个无序数列分成n个子列,然后再求解子列,最后合并成最终的答案。核心特征:局部有序到整体有序算法设计:本文采用递归法:记函数名字为MergeSort以数组为例,由于是递归法,所以参数中必须有能让递归进行下去的参数,而将大数组分成小数组最重要的是要能知道数组的索引,(本文直接采用每次切开一半的做法,这样有利于合并),因此参数中必须包含该数组最左
逆风丶
·
2019-05-28 17:21
算法
计算机
算法设计与分析
-第一章复习
主要考虑时间复杂度和空间复杂度,表示方式均一致,因此以讨论时间复杂度为例。记为T(N)由于在讨论复杂性的时候,只考虑N->+∞的情况(即问题的规模充分大时),因此,只需要表达式中的高阶项即可。例如T(N)=3N^2+6N+3只需要表达成T(N)=3N^2即可,该表达式称为渐进表达式。由于要比较算法的复杂度,因此引入三个符号OΩθ来比较算法的复杂度设f(n)g(n)为正函数如果存在正常数C和自然数N
逆风丶
·
2019-05-28 14:22
算法
【
算法设计与分析
】链表翻转(时间复杂度O(n),空间复杂度O(1)的做法)
问题:现有链表为:1–>2–>3–>4–>5–>null如何在O(n)的时间复杂度,O(1)的空间复杂度内实现这个链表的翻转?即将链表翻转为5–>4–>3–>2–>1–>null方法:链表翻转的general做法是,借助一个假链表头(用dummy表示),使用三个指针来完成。以翻转1-->2-->3-->4-->5-->null这个链表为例,链表翻转的过程中,各个链表节点和指针的移动顺序为:第一步:
AXIMI
·
2019-05-17 21:20
算法设计与分析
【
算法设计与分析
】Majority Voting Algorithm-多数投票算法
问题:有一个数组,里面是一些重复的数字。问是否存在一个数,这个数出现的次数超过了数组大小的一半?如果存在的话,这个数是多少?例如对于数组[1,1,3,1,3,1,2],数字1的出现的次数超过了数组的一半;而对于数组[6,6,6,7,7,7],没有数字超过数组的一半(数字6和7都出现了3次,出现的次数等于数组的一半,而没有超过数组的一半)如果题目要求的是数字出现的次数大于等于数组的一半,那多数投票算
AXIMI
·
2019-05-16 22:48
算法设计与分析
软件工程课程
数字逻辑电路设计C++语言程序设计软件体系结构
算法设计与分析
专业课分
AAA375
·
2019-05-13 10:25
关于批处理作业调度问题中“完成时间和“的疑问
算法设计与分析
(第4版)——王晓东动态规划:F1k=F1(k-1)+t1k;F2k=max{F1k,F2(k-1)}+t2k;解释:第一个公式:对于机器1来说,它一定是不停的工作,即机器1第k个作业的完成时间
caigen0001
·
2019-05-09 20:32
4.算法设计与分析
算法设计与分析
——全排列问题算法分析(递归调用分析图)
(目前网上最易理解递归调用的分析过程——递归调用分析图)全排列:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。例如:1、2、3三个元素的全排列为:{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}。算法思路分析:设R={r1,r2,…,rn}是要进行排列的n个
caigen0001
·
2019-05-07 19:40
4.算法设计与分析
算法设计与分析
课程复习笔记11——单源最短路径
算法设计与分析
课程复习笔记11——单源最短路径单源最短路径最短路径问题输入:有权有向图G=(V,E)路径p={v0,v1,...,vkv_0,v_1,...,v_kv0,v1,...,vk}的权:∑i=
Shane恆
·
2019-05-04 20:37
算法
字典序问题
《计算机
算法设计与分析
》中第一章的第二道题-字典序问题。题目如下:在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。
Change_Improve
·
2019-05-04 15:42
c++
算法
算法设计与分析
课程复习笔记10——最小生成树
算法设计与分析
课程复习笔记10——最小生成树最小生成树MST修路问题一个小镇有一些房子和一些路,每条路连接且仅连接2座房子,连接u和v房子的路的维修代价为w(u,v),现在要维修仅够需求的道路,使得:每两座房子之间保持连通
Shane恆
·
2019-05-04 13:07
算法
【
算法设计与分析
】哈夫曼编码问题
说明:这是武汉理工大学计算机学院【
算法设计与分析
】课程的第二次实验第一题:哈夫曼编码问题>>点击查看WUTer计算机专业实验汇总谨记:纸上得来终觉浅,绝知此事要躬行。
拾年之璐
·
2019-04-30 21:51
算法设计与分析
算法笔记
软考08:
算法设计与分析
(待更)
一、
算法设计与分析
基础1、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作五个特性:有穷性、确定性、可行性、输入、输出2、算法设计通常设计一个好的算法应考虑达到以下目标
Yohance.✔
·
2019-04-15 21:52
软考笔记
【习题】《
算法设计与分析
(第三版)》-王晓东著-第1章-算法引论
第1章算法引论习题1-1说明下面方法swap为什么无法交换实际参数的值。答:java基本数据类型传值,方法不会改变实参的值。书中原文为——java中所有方法的参数均为值参数。在调用方法时先将实际参数的值复制到形式参数中,然后再执行调用。因此,在执行调用后,实际参数的值不变。(思考:所以要用javabean?如果要实现swap,必须引入getter&setter?)1-2说明下面的两个方法头是否有不
SquareSquareHe
·
2019-04-14 20:59
java
树的最大连通分支问题(
算法设计与分析
-王晓东)
问题描述:给定一棵树T,树中每个顶点u都有一个权w(u),权可以是负数。现在要找到树T的一个连通子图使该子图的权之和最大。对于给定的树T,编程计算树T的最大连通分支。数据输入:第1行有1个正整数n,表示树T有n个顶点。树T的顶点编号为1,…,n。第2行有n个整数,表示n个顶点的权值。接下来的n-1行中,每行有表示树T的一条边的2个整数u,v,表示顶点u与顶点v相连。解题思路:对于给定的树确定各点在
呓语*
·
2019-04-14 19:44
动态规划
算法设计与分析(王晓东)
汽车加油行使问题DP(
算法设计与分析
-王晓东)
题目描述 Description给定一个N*N的方形网格,设其左上角为起点◎,坐标为(1,1),X轴向右为正,Y轴向下为正,每个方格边长为1,如图所示。一辆汽车从起点◎出发驶向右下角终点▲,其坐标为(N,N)。在若干个网格交叉点处,设置了油库,可供汽车在行驶途中加油。汽车在行驶过程中应遵守如下规则:(1)汽车只能沿网格边行驶,装满油后能行驶K条网格边。出发时汽车已装满油,在起点与终点处不设油库。(
呓语*
·
2019-04-08 20:07
动态规划
dp专题
算法设计与分析(王晓东)
【
算法设计与分析
】最短路径算法总结
慕尼黑工业大学(TUM)图算法资源斯坦福的A*算法介绍国外A*算法介绍网站算法介绍方面的优秀网站目前掌握的最短路算法有以下几种。Dijkstra算法广度优先搜索算法(BFS)贪心最好优先搜索算法(GreedyBestFirstSearch)。A*算法。2-hop算法(原文是在无尺度网络上提出来的)。bellman-ford算法。floyd-warshall算法。:链接里面是一个英文版的动画演示算法
青春不言败(WuChW)
·
2019-04-07 11:43
算法设计与分析
【
算法设计与分析
】树
树的遍历:先序遍历(preordertraversal):自己–左子树–右子树中序遍历(inordertraversal):左子树–自己–右子树后序遍历(postordertraversal):左子树–右子树–自己morris遍历:时间复杂度(timecomplexity):O(n)空间复杂度(spacecomplexity):O(1)中序遍历:publicindorMorris(TreeNode
AXIMI
·
2019-04-05 13:34
算法设计与分析
算法设计与分析
:分治法解决归并排序
分治法解决归并排序问题:思想:代码如下:#include"stdafx.h"#include#includeusingnamespacestd;//这个函数是用来最后将两个子问题再来归并排序的voidmerge(intr[],intr1[],inthead,intmid,inttail){inti=head,j=mid+1,k=head;while(i>n;cout>list[i];cout<<"
张卿长
·
2019-04-02 20:44
算法设计与分析
:蛮力法求解0/1背包问题
由于最近在复习
算法设计与分析
,所以就想试着完成一下书上的代码。描述:背包问题:给定重量分别为,价值分别为的n件物品,和一个承重为W的背包。求这些物品中一个最有价值的子集,并能装到背包中。
张卿长
·
2019-04-01 21:58
算法设计与分析
--分治法求序列最小值
用分治法实现找一个序列最小值的功能#includeusingnamespacestd;voidMerge(intr[],intr1[],ints,intm,intt)//合并子序列{inti=s,j=m+1,k=s;while(i>a[i];}cout<<"showthenumber:"<
文天哥哥
·
2019-04-01 13:02
算法设计与分析
生成组合对象的算法——Johnson-Trotter算法的python实现
伪代码是AnanyLevitin著作的《
算法设计与分析
基础》,初学代码,发现网上几乎没有Johnson-Trotter算法的python实现,所以自己根据伪代码琢磨了一下,写了这个代码,写的匆忙有些粗糙
白片片
·
2019-03-29 17:44
【
算法设计与分析
】排序
排序冒泡插入选择快排归并排序堆排序计数排序(Comparison-CountingSort)桶排序排序的分类按是否占用额外内存(原地排序):out-place归并排序、计数排序、基数排序、桶排序in-place冒泡排序、插入排序、选择排序、快排、堆排序按是否为稳定排序分类:stable冒泡排序、插入排序、归并排序、计数排序、基数排序、桶排序unstable选择排序(58529)、快排、堆排序PS:
AXIMI
·
2019-03-29 14:44
算法设计与分析
算法设计与分析
笔记整理——蛮力法——例题:解数字谜
例二:解数字谜,找出一个五位数符合以下竖式的条件,输出该五位数和结果的六位数。问题分析:法一:枚举法。范围为30000--99999的五位数(因为只有30000以上的数乘以最高位才可能得到六位数),取符合要求的五位数来做乘法,对得到的结果再进行判断看是否满足条件。时间复杂度为99999-30000+1=70000。法二:构造式的枚举法。构造符合条件的五位数,A取值从3--9,B、C取值从0--9,
golden_life
·
2019-03-25 15:01
算法设计与分析
算法设计与分析
笔记整理——蛮力法——例题:链环数字对
例一:输入n个数字(在0与9之间),然后统计出这组数中相邻两个数字组成的链环数字对出现的次数。如:n=20,输入为01598722232787879659,则输出为(7,8)=2,(8,7)=3,(7,2)=1,(2,7)=1,(2,2)=2,(2,3)=1,(3,2)=1。输入n个数字(在0与9之间),然后统计出这组数中相邻两个数字组成的链环数字对出现的次数。如:n=20,输入为01598722
golden_life
·
2019-03-24 16:37
算法设计与分析
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他