自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 算法分析与设计十三-读书报告

读书笔记在网上搜说了下关于算法的书籍,发现很多人推荐了《算法概论》这本书,我抱着试一试的态度看了看这本书,这本书很好,内容很全,涉及数据结构和数学相关知识较多,下面谈谈我的阅读笔记。。第0章本章较为简短,没有深入系统地涉及某些内容。主要以fibonacci数列的例子,让我体会了递归和递推思想的差别。针对fibonacci数列例子直接递归解法中涉及的重复计算,优化出递推方式,展示了思考问题中自顶向下与自底向上的不同思考角度可能产生较大的算法效率差别,同时隐约体现记忆化搜索的思想。另外本章较为详细介绍了大

2020-06-16 20:12:04 295 1

原创 算法分析与设计实验十一——最优前缀法

问题给定字符集C={x1,x2,…,xn}和每个字符的频率f(xi),求关于C的一个最优前缀码。解析构造最优前缀码的贪心算法就是哈夫曼算法哈夫曼编码:对于一颗具有n个叶子的哈夫曼树,若对树中的每个左分支赋予0,右分支赋予1,则从根到每个叶子的路径上,各分支的赋值分别构成一个二进制串,该二进制串就成为哈夫曼编码。哈夫曼树满足两条性质:性质1 哈夫曼树是前缀编码。性质2 哈夫曼树是最有前缀编码。 对于包含n个数据字符的文件,分别以它们出现的次数为权值构造哈夫曼树,则利用该树对应的哈夫曼编码对文件.

2020-06-16 15:47:39 311

原创 算法分析与设计实验十二——图的m着色问题

问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。解析与“N皇后问题”一样。在填写每一个顶点的颜色时检查与相邻已填顶点的颜色是否相同。如果不同,则填上;如果相同(冲突),则另选一种;如果已没有颜色可供选择,则回溯到上一顶点。重复这一过程,直到所有顶点的颜色都已填上。设计核心伪代码isDiffColor(index)//判断填色是否符合for i = 0 to .

2020-06-16 15:45:38 484

原创 算法分析与设计实践-作业九-LCS算法

一、问题果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S 称为已知序列的最长公共子序列,即求最长公共子序列。二、分析(1)穷举法(2)动态规划Xi=﹤x1,⋯,xi﹥即X序列的前i个字符 (1≤i≤m)Yj=﹤y1,⋯,yj﹥即Y序列的前j个字符 (1≤j≤n)若xm=yn(最后一个字符相同),则不难用反证法证明:该字符必是X与Y的任一最长公共子序列Z(设长度为...

2020-04-27 23:42:41 142

原创 算法分析与设计实践-作业八-矩阵链问题

一、问题设A1,A2……An为n个矩阵的序列,其中Ai为Pi-1Pi阶矩阵这个矩阵的输入链用向量P<P0,P1,……Pn>表示。给定向量P确定一种乘法次序,使得基本运算的总次数达到最小。例如P<10,100,5,50>,则A1:10100 A2:1005 A3:550(A1A2)A3=101005+10550=75002)A1(A2A3)=1010050+100...

2020-04-20 23:08:36 176

原创 算法分析与设计实践-作业七-投资问题

一、问题设m元钱,n项投资,函数Fi(x)表示投入第i项产生的效益,i=1,2,3……n,问如何分配这m元钱,使投资效益最高?二、组合优化问题假设分配给第i个项目的钱为xi;即求max{f1(x1)+f2(x2)……+fn(xn)};反证法证明满足优化原则并使用优化原则解决问题。三、代码设计Fk(x)=max{fk(xk)+Fk-1(x-xk)},0<=xk<=x;Fk...

2020-04-13 22:55:01 301

原创 算法分析与设计实践-作业六-选第k小元素:特定分治策略

一、问题n个·数的数组S,找到第K个元素并且输出。二、问题分析1.将数组分为五个一组,共n/5个组;2.每组找出中位数,将中位数集合放到M中3.选出M的中位数m*,将S中的数分为A,B,C,D四个集合;4.将A中和D中的每个元素与m*比较,小的构成S1,大的构成S2;5.将S1和并在一起,S2和C并在一起;三、实验代码四、时间复杂度五、代码...

2020-04-06 22:38:32 341

原创 算法分析与设计实践-作业五-最近对问题

一、问题分析令P为笛卡尔平面上n>1个点构成的集合,假设这些点都不一样,且按照x轴升序怕排列,还可以按照y轴升序排列并且将列命名为Q.求点对间的最小距离·二、解析当n<3时蛮力求解,当n>3时利用点集在x轴上的中位数m,在此处做一条垂线,将点集分成两个P1.,P2;通过P1,P2求最近对问题,但d不一定是最小距离,需要在进行验证,检查。三代码设计EfficientClo...

2020-03-30 22:09:30 213

原创 算法分析与设计实践-作业四-二分归并排序

一、问题描述二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k二、解析1.设定两个指针,最初位置分别为两个已经排序序列的起始位置2.比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置3.重复步骤3直到某一指针达到序列尾4.将另一序列剩下的所有元素直接复制到合并序列尾归并排序:归并排序具体工作原理如下(假设序列共有n个元素):1....

2020-03-23 20:44:57 151

原创 算法分析与设计实践-作业三-检索

一、问题描述写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.。二、解析·:1.顺序查找:遍历数据元素2.二分查找:算法原理:在查找表中不断取中间元素与查找值进行比较,以二分之一的倍率进行表范围的缩小。三、代码·设计 void mian()/*顺序查找*/ { for(i=0;i<n;i++) { ...

2020-03-16 22:40:31 179

原创 算法分析与实践-作业2 Floyd、Dijkstra算法算法求各顶点间距离

一、问题描述1用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。2. 对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。二、Floyd、Dijkstra算法原理和分析(1)Floyd若则dist[i][k] + dist[k][j] < dist[i][j]更新dist[i][j] 。当三层遍历完毕之后...

2020-03-09 21:56:03 347

原创 算法分析与实践-作业1-2Kruskal实现最小生成树

一、Kruskal基本原理每次都从剩余边中选取权值最小的,当然,这条边不能使已有的边产生回路。二、图解先对边的权值排个序:1(V0,V4)、2(V2,V6)、4(V1,V3)、6(V1,V2)、8(V3,V6)、10(V5,V6)、12(V3,V5)、15(V4,V5)、20(V0,V1)首选边1(V0,V4)、2(V2,V6)、4(V1,V3)、6(V1,V2),此时的图是这样显...

2020-03-02 19:29:16 146

原创 算法分析与实践-作业1-1用Prim算法实现最小生成树

一、Prim算法基本原理假设有一个无向带权图G=(V,E),他的最小生成树为MinTree=(V,T),其中V为顶点集合,T为边的集合。1.以任一点为起点生成树2.加入与树相邻且权值最小的边和其顶点3.重复上述步骤直到录入所有顶点,从而生成最小生成树二 实际案例:图解(1)(2)(3)(4)(5)三、代码:int Prim( MGraph Graph, LGraph...

2020-03-02 19:13:18 371

原创 浅拷贝与深拷贝的定义与实现

浅拷贝与深拷贝的定义与实现一定义浅拷贝与深拷贝都属于对象拷贝,对象拷贝即拷贝对象本身的副本,对于基本数据类型的成员变量,无论「浅拷贝」还是「深拷贝」都会直接进行值传递,原对象和新对象的该属性值为两份数据,相互独立,且互不影响。而对于引用类型的成员变量,「浅拷贝」仅复制该属性的引用而不复制引用所指向的对象,即原对象和新对象的该属性指向的是同一个对象;「深拷贝」则会直接复制该属性所指向的对象,...

2019-12-30 22:30:26 438

原创 ## Javadoc的定义与使用

Javadoc的定义与使用一、定义Javadoc是从程序源代码中抽取类、方法、等注释形成一个自己的API帮助文档,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。Javadoc用于描述类或者方法的作用。二使用(1)常用标记(2)...

2019-12-30 22:14:22 128

原创 Java中的组合聚合

Java中的组合聚合一定义组合:是一种受限制的聚合模式,是一种部分和整体的关系,其中两个整体(类)高度依赖于彼此,两者不可分离。聚合:是一种特殊的关联,has-a的关系,是一种整体(类)之间的单项关系例如水壶中有水,水中没有水壶。二具体的区别组合方式一般会这样写:A类的构造方法里创建B类的对象,也就是说,当A类的一个对象产生时,B类的对象随之产生,当A类的这个对象消亡时,它所包含的B类...

2019-12-30 21:40:33 120

原创 C,C#,C++,java,python数组定义于初始化

一、C语言数组的定义与初始化(1)定义 element arrayRefVar[arraysize];(2)初始化C语言中,如果定义数组时没有初始化,数组元素是否初始化分为:若是函数体外定义的内置数组,则数组中的元素均自动初始化为零;若是函数体内定义的内置数组,则其元素无初始化。二、C#数组的定义与初始化(1)定义:element arrayRefVar[]=new element[...

2019-12-30 21:30:47 199

原创 Unicode,UTF8,UTF16,UTF32

简单的介绍Unicode,UTF8,UTF16,UTF32一、Unicode的创立美国人意识到应当使用一种标准方案展示世界上所有语言的字符,Unicode诞生了。Unicode就是一种编码字符集,UTF8,UTF16,UTF32即字符集编码,对应着不同的编码方式二、UTF8、UTF16、UTF16UTF8可变长的字符编码,使用一到四个字节表示表示一个字符。UTF8的编码规则:(1)对于...

2019-12-30 20:58:03 134

原创 Java(eclipse) 中debug调试的使用方法

Java(eclipse) 中debug调试的使用方法1.在主界面中直接右键选择Debug as,然后选择需要调试的文件2,选择project下方的三个类似播放的按钮调试分别对应跳入,跳过,跳出,3.快捷键:F5:跳入,F6跳过,F7跳出4.在想要调试的地方设置断点,运行到断点处,自动跳出,进入Debug,在Variables变量视图中可以查看当前的变量值。...

2019-12-30 20:38:08 344

原创 如何用·eclipse·写·hello·world

如何用eclipse写hello· world1.打开eclipse,右键点击Lauch.2.建立项目:点击File→New→Java project→输入project name:hello world3.右击hello world→右击src→New→class→class name:gga4.输入代码并且run:右击Run as选择gga.java点击OK即可5:运行结果:...

2019-09-24 01:09:58 306

2+HTML单元.pdf

介绍了html的发展历史,几个相关的版本,以及当下的html,版本间的区别,同时还有html的语法,基础知识相关内容。

2020-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除