自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PacosonSWJTU的博客

技术分享,互惠你我!wish to make progress with everyone.

  • 博客(50)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

转载 算法递归简论

【0】README0.1) 本文总结于 数据结构与算法分析,旨在了解设计 递归程序 的相关法则和技巧;【1】 递归简论1.1)当编写递归例程的时候,关键是要牢记递归的四条基本法则-Principle:P1)基准情形:必须总是有某些基准情形,它无需递归就能解除;P2)不断推进:对于那些需要递归求解的情形,每一次递归调用都必须要是求解状况朝接近基准情形的方向前进;P3)设计法则:假设所有的递归调用

2015-11-07 11:17:21 1149

原创 数据结构排序总结

【0】README0.1) 本文总结于 数据结构与算法分析+个人的学习心得体会,源代码均为原创; 0.2) 本文列出了数据结构中基本上所有的数据结构排序算法, 整理了相关的博文(源代码); 0.3)对于数据结构排序的遗憾是, 这个排序,哥子已经搞了整整1周了,搞乏了,所以没有实现 以 Sedgewick 增量序列 { 或者是 9*4^i - 9*2^i + 1或者是 4^i - 3*2^i +

2015-11-07 09:03:23 1565

转载 分治算法

【0】README0.1) 本文总结于 数据结构与算法分析,旨在理解 “分治算法”的idea; 【1】分治算法相关1.1)网络转载的分治法定义:分治法将问题分为一系列独立小问题,然后分别找到每个小问题的解决方案,然后把每部分的解决方案合并起来,适用于具有同类解决方案的子问题的求解; 1.2)分治法由两部分组成: 1.2.1)分(divide): 递归解决较小的问题;1.2.2)治(conque

2015-11-30 21:40:00 596

原创 近似装箱问题(两种脱机算法实现)

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(两种脱机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的两种联机算法 分别是: 首次适合递减算法 和 最佳适合递减算法 , 我们将依次给出源代码实现+算法描述; 0.3)联机算法+脱机算法version1)联机装箱问题: 在这种问题中, 必须将每一件物品放入一个

2015-11-28 13:37:14 2269

原创 近似装箱问题(三种联机算法实现)

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(三种联机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的三种联机算法 分别是: 下项适合算法 + 首次适合算法 + 最佳适合算法 , 我们将依次给出源代码实现+算法描述;【1】近似装箱问题1.1)问题描述: 给定N 项物品, 大小为 s1, s2, …, sN, 所

2015-11-28 13:27:27 2448

原创 Huffman编码(Huffman树)

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “Huffman编码(Huffman树)” 的idea 并用源代码加以实现;【1】Huffman 编码1.1)贪婪算法的第二个应用: 文件压缩;1.1.1)标准的 ASCII字符集: 它由大约100个 可打印字符组成,为了把这些字符区分开, 需要 |log100|(不小于等于log100) = 7个 比特;

2015-11-28 09:25:26 1194

转载 贪婪算法+小应用(调度问题)

【0】README0.1) 本文总结于 数据结构与算法分析, 旨在 理解 “DFS应用——贪婪算法” 的idea;【1】贪婪算法1.1)已经看到的三个贪婪算法: Dijkstra算、Prim算法 和 Kruskal 算法;(Dijkstra 寻找一个顶点到其他顶点的最短路径, Prim算法是选取顶点以找出最小生成树, Kruskal算法是一次选取权值最小的边 建立最小生成树) 1.2)贪婪算法是

2015-11-27 15:46:24 3107

转载 浅谈java代理

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java代理机制 的基础知识;【1】代理相关1.1)利用代理可以在运行时创建一个实现了一组给定接口的新类, 这种功能只有在 编译时无法确定需要实现哪个接口时 才有必要使用; 1.2)假设有一个表示接口的 Class对象, 它的确切类型在编译时无法知道。 要想构造一个实现这些接口的类, 就需要使用

2015-11-24 19:13:49 439

转载 NP-完全性介绍

【0】README0.1) 本文总结于 数据结构与算法分析, 旨在 理解 “NP-完全性” 的idea ;【1】难与易1.1)不可判定问题:正如实数不足以表示 x^2 < 0 的解那样,可以证明, 计算机不可能解决碰巧发生的每一个问题,这些不可能解出的问题叫做不可判定问题; 1.2)停机问题:一个特殊的不可判定问题是 停机问题——是否能够让你的C 编译器拥有一个附加的特性,即不仅能够检查语法错误,

2015-11-24 16:17:49 2484

原创 DFS应用——查找强分支

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “DFS应用——查找强分支” 的idea 并用源代码加以实现 ; 【1】查找强分支1.1)如何检测一个图是否是强连通的: 通过执行两次DFS, 我们可以检测一个有向图是否是强连通的, 如果它不是强连通的,那么我们实际上可以得到顶点的一个子集, 它们到其自身是强连通的; 1.2)首先, 在输入的图G上执行一次

2015-11-24 10:06:56 1135

原创 DFS应用——遍历有向图+判断有向图是否有圈

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “DFS应用——遍历有向图+判断有向图是否有圈” 的idea 并用源代码加以实现 ; 0.2) 判断有向图是否有圈的rule—— 一个有向图是无圈图当且仅当它没有背向边,背向边定义,参见: http://blog.csdn.net/pacosonswjtu/article/details/49967255

2015-11-24 09:56:17 10082

原创 DFS应用——寻找欧拉回路

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “DFS应用——寻找欧拉回路” 的idea 并用源代码加以实现 (源代码,我还没有找到一种有效的数据结构和DFS进行结合,往后会po出); 【1】欧拉回路1.1)欧拉回路定义:我们必须在图中找出一条路径, 使得该路径对图的每条边恰好访问一次。如果我们要解决“附加的问题”, 那么我们就必须找到一个圈, 该圈恰好

2015-11-24 08:16:10 12404 4

原创 DFS应用——找出无向图的割点

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “DFS应用于找割点” 的idea 并用源代码加以实现; 0.2) 必须要事先 做个specification的是,对于给定图的除开起始vertex的那些 vertexes,都可以通过我们的 rules(见下文)找出割点,即对于根(start),我们需要做个special 的test,参见main函数中最后

2015-11-23 20:11:17 2052 1

原创 DFS应用——遍历无向图

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 如何对无向图进行深度优先搜索 的idea 并用源代码加以实现; 0.2) 本文还引入了 背向边(定义见下文描述),并用源代码找出了给定图的在 DFS过程中 产生的背向边, 但是要注意 背向边不是深度优先搜索树的边, 该树是由 对给定图进行DFS生成的; 0.3) 通过打印 parent (可以看做是 深度

2015-11-21 20:06:15 4659 1

转载 DFS——深度优先搜索基础

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 review DFS——深度优先搜索 的基础知识;【1】深度优先搜索的应用1.1)深度优先搜索算法描述(转自天勤计算机考研高分笔记——数据结构)1.1.1)图的深度优先搜索遍历(DFS)类似于二叉树的先序遍历。它的基本思想是(steps): step1)首先访问出发点v, 并将其标记为已访问过;step2)

2015-11-21 19:56:06 894

原创 最小生成树——Kruskal(克鲁斯卡尔)算法

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 Kruskal(克鲁斯卡尔)算法 的idea 并用 源代码加以实现; 0.2)最小生成树的基础知识,参见 http://blog.csdn.net/pacosonswjtu/article/details/49947085【1】 Kruskal 算法(使用到了不相交集ADT的union/find 操作)

2015-11-21 09:59:52 1113

原创 最小生成树——Prim(普利姆)算法

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解Prim算法的idea 并用 源代码加以实现;【1】Prim算法相关1.1)计算最小生成树的一种方法是使其连续地一步一步长成。在每一步, 都要吧一个节点当做根并往上加边,这样也就把相关联的顶点加到增长中的树上; 1.2)在算法中的任一时刻, 我们都可以看到一个已经添加到树上的顶点集, 而其余顶点尚未加到这颗树

2015-11-20 15:21:57 1120

转载 最小生成树基础

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 review 最小生成树的基础知识; 0.2)了解本文的内容是 分析 Prim算法(普利姆算法)和 Kruskal算法(克鲁斯卡尔算法) 的前提;【1】最小生成树(一句话,所有点相连的边的权值最小)1.1)我们考虑的问题: 在一个无向图中找出一颗最小生成树。一个无向图G的最小生成树就是由该图的那些连接G 的所有

2015-11-20 15:13:37 1163

原创 打印结果和调试结果不一样(C语言)

【0】README0.1)本文旨在阐述 个人的debug经历,遇到的各种debug 奇葩问题, 说是奇葩,其实也是自己 不小心或者说是编程习惯不好;【1】debug和running的运行结果不一致(乍眼一看,你肯定醉了)1.1)原因:这是因为, 运行是时候,temp内部分配失败,为null, 所以直接返回了,所以swap失败;而在debug的时候, temp内存分配成功, 不为null, 所以swa

2015-11-20 13:16:56 3758 2

原创 Dijkstra 算法——计算有权最短路径(边有权值)

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在理解 Dijkstra 的思想并用源代码加以实现; 0.2)最短路径算法的基础知识,参见 http://blog.csdn.net/pacosonswjtu/article/details/49894021【1】Dijkstra 算法相关1.1)贪婪算法一般分阶段去求解一个问题, 在每个阶段它都把当前出现的当做是最

2015-11-19 14:46:43 3455

原创 图论——Dijkstra+prim算法涉及到的优先队列(二叉堆)

【0】README0.1)为什么有这篇文章?因为 Dijkstra算法的优先队列实现 涉及到了一种新的数据结构,即优先队列(二叉堆)的操作需要更改以适应这种新的数据结构,我们暂且吧它定义为Distance, 而不是单纯的int类型; 0.2)本文源代码均为原创, int类型的优先队列(二叉堆)的操作实现,参见http://blog.csdn.net/PacosonSWJTU/article/det

2015-11-19 09:40:48 2803

转载 接口与回调

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 接口与回调 概念 ; 【1】接口与回调相关1.1)回调定义: 回调是一种常见的程序设计模式, 在这种模式中, 可以指出某个特定事件发生时应该采取的动作;例如, 可以指定 在 按下鼠标或选择某个菜单项时应该采取什么行动;[API] java.swing.Timer 1.2Timer(int inte

2015-11-17 23:01:58 515

转载 对象克隆+深浅拷贝

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 对象拷贝 的概念 , 特别是对 深拷贝和浅拷贝 的理解; 0.2) 最后,我们还要看一个 clone 的荔枝;【1】对象克隆相关1.1)出现的问题: 当copy一个变量时, 原始变量和 copy 变量引用同一个对象, 也就是说, 改变一个变量所引用的对象将会 对另一个变量产生影响;Emplo

2015-11-17 22:49:25 592

原创 无权最短路径

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在理解 无权最短路径 的思想并用源代码加以实现; 【1】无权最短路径相关概念(边的权值赋值为1)1.1)概述:下图就是表示一个无权图G。使用某个顶点s作为输入参数, 我们想要计算 从s到所有其他顶点的最短路径; 1.2)0路径:若我们选择s 为 v3,此时立刻可以说出从s 到v3的最短路径是0路径; 1.3)算

2015-11-17 22:14:24 887

转载 最短路径算法

【0】README0.1) 本文总结于 数据结构与算法分析, 旨在复习数据结构中最短路径的基础知识;【1】最短路径算法1.1)输入一个赋权图: 与每条边(vi, vj)相联系的是穿越该边的代价(权值)ci,j; 1.2)最短路径分为:有权路径和无权路径;1.2.1)有权路径:赋权路径长(典型的代表有 Dijkstra算法);1.2.2)无权路径:只是路径上的边数(即图中所有边的权值都为1);

2015-11-17 22:00:46 1381

原创 拓扑排序

【0】README0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在理解 拓扑排序的思想并用源代码加以实现;【1】拓扑排序(有向无圈图才有资格谈拓扑排序,有向且要无圈)1.1)拓扑排序定义: 拓扑排序是对有向无圈图的顶点的一种排序, 它使得如果存在一条从 vi 到 vj的路径,那么在排序中 vj出现在 vi的后面;(有向无圈图:一个有向图没有圈, 圈:满足w1=wn 且长度至少为1个

2015-11-17 21:52:15 716

转载 图论算法基础

【0】README0.1)本文总结于 数据结构与算法分析, 旨在复习数据结构中图论算法的基础知识;【1】图论若干相关定义1.1)图G定义:一个图G=(V,E)由顶点及集V 和 边集E组成, 每一条边就是一个点对(v, w); 1.2)边邻接:当且仅当(v,w)∈E, 在无向图中, w和v邻接,且v也和w邻接;(还有第3中成分:边的权值) 1.3)路径: 一条路径是一个顶点序列 w1, w2,…,

2015-11-17 21:42:01 1551

转载 java接口概述

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java 接口概念 ; 0.2)接口技术: 这种技术主要用来描述类具有什么功能, 并不给出每个功能的具体实现; 一个类可以实现多个接口, 但只允许单继承; 0.3) 最后简单阐述了 接口和抽象类 的 区别;【1】 接口1.1)接口中的所有方法自动属于public: 故,在接口中声明方法时,不必

2015-11-17 17:31:10 784

转载 利用反射机制创建新类的两种方式及比较

【0】README0.1) 本文描述+源代码均 转自 http://blog.csdn.net/fenglibing/article/details/4531033 , 旨在深入理解 如何利用反射机制创建类实例;【1】通过反射创建新的类示例,有两种方式:2.1)第一种方式: Class.newInstance() 2.2)第二种方式: Constructor.newInstance()【2】以下对

2015-11-17 13:38:56 1595

转载 java反射机制+继承设计技巧

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java反射机制 ;最后还顺带提出了 继承设计的技巧;【1】反射相关1)反射定义:能够分析类能力的程序称为反射; 2)反射机制可以用来:在运行中分析类的能力;在运行中查看对象, 如,编写一个 toString() 方法供所有类使用;实现通用的数组操作代码;利用 Method对象,这个对象

2015-11-10 10:21:03 3532

转载 对象包装器与自动(拆箱)装箱+参数数量可变的方法+枚举类

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 自动拆箱(装箱)、printf的参数数量可变 以及 枚举类的详细说明; 0.2) 明天上干货代码;【1】 对象包装器与自动装箱1.1)包装器定义:所有的基本类型都对应一个类,如int基本类型对应Integer类, 这些类就称为包装器; 1.2)包装器类名字: Integer、Long、Fl

2015-11-09 23:34:06 913

转载 泛型数组列表ArrayList

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理清 java 中的 数组列表 ArrayList; 【2】数组列表 ArrayList2.1)ArrayList: ArrayList 具有自动调节数组容量的功能, 而不需要为此编写任何代码; 2.2)ArrayList 是一个采用类型参数的泛型类: ArrayList staff =new Arr

2015-11-09 23:12:02 852

转载 java重载与重写的区别+重写父类equals方法的完美实现

【0】README0.1) 本文章节【1】和【2】的内容转自 http://www.cnblogs.com/bluestorm/archive/2012/03/01/2376236.html ; 旨在区分重载与重写以及他们的相关概念; 0.2) 本文章节【3】的内容转自 http://blog.csdn.net/pacosonswjtu/article/details/49495977 的章节

2015-11-09 22:53:30 2771

原创 不相交集合求并的路径压缩

【0】README0.1)本文总结于 数据结构与算法分析, 源代码均为原创, 旨在实现 对不相交集合的路径压缩操作; 0.2)对求并后的集合进行路径压缩,目的是降低集合(合并数)的深度,减少find 操作的时间复杂度; 0.3) for introduction to non-intersect set ADT ,please refet to http://blog.csdn.net/Paco

2015-11-08 11:04:18 1616

原创 不相交集的求并算法(按集合大小求并+按高度求并)

【0】README0.1)本文总结于 数据结构与算法分析, 但源代码均为原创,旨在实现 不相交集ADT的两个操作:合并集合union+查找集合find; 0.2) 不相交集ADT 的 Introduction , 参见 http://blog.csdn.net/PacosonSWJTU/article/details/49716905【1】灵巧求并算法——按集合大小求并1.1)大小求并法定义:上

2015-11-08 10:47:33 2800

转载 不相交集ADT(联机算法 + 脱机算法)

【0】README0.1)本文总结于 数据结构与算法分析, 旨在分享 不相交集ADT的相关概念; 0.2) 不相交集ADT 的知识涉及到: 等价关系、动态等价关系、以及不相交集ADT相关操作和其数据结构;【1】 等价关系1.1)若对于每一对元素(a,b), a, b ∈S, aRb 或者为true或者为false;则称在集合S上定义关系 R; 如果aRb 是 true , 我们说 a 与 b 是

2015-11-08 10:28:56 1503

转载 树的预备知识

【0】README0.1) 本文总结于 数据结构与算法分析,旨在整理出 树的相关术语和概念(哥子始终记不住树的高度和深度,记着记着就混淆了,哎,所以分享出来); 【1】树相关1.1)定义树的一种自然方式是递归的方法; 1.2)树定义:一棵树是一些节点的集合, 这个集合可以是空集;若非空, 则一棵树由称作 根(root)的节点r 以及0个或多个非空的子树组成;(树中还有树, 这本就是一个递归的定义)

2015-11-08 08:45:36 551

转载 java 抽象类

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理清 java 抽象类; 【1】抽象类相关1.1)使用 abstract关键字,这样就完全不需要实现 这个 方法了 如, public abstract String getDescription(); 为了提供程序的清晰度, 包含一个或多个抽象方法的类本身必须被声明为抽象的;abstract cla

2015-11-07 15:33:54 851

转载 super 和 this 关键字的比较+调用构造器(this)+动态绑定

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在加深对 super 和 this 的用法比较;【1】super 和 this 的比较:1.1) 有人认为super 和 this 引用是类似的概念,实际上,这样比较并不太恰当;因为super不是一个对象引用, 不能将super 赋给另一个对象变量,它只是一个编译器调用超类方法的特殊关键字; 1.2)我

2015-11-07 14:14:36 798

转载 java 初始化块

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在分享初始化块 or 静态初始化块的调用过程;【1】初始化块相关1.1)前面讲过了 两种初始化数据域的方法: 在构造器中设置值 + 在声明中赋值; 1.2)java还有第3种机制, 称为初始化块: 在一个类的声明中, 可以包含多个代码块,对以上代码的分析(Analysis)A1)无论使用哪一个构造

2015-11-07 13:56:39 684

(中文译文)Haar wavelets for efficient similarity search of time series

Haar小波对时间序列的有效相似性搜索:有和没有时间规整

2015-12-11

基于15个国家的世界杯排名的Kmeans算法实现

本代码 旨在演示kmeans的算法思想,以及将其应用到15个国家的世界杯排名分析中。

2015-09-01

嵌入式开发基础+实践教程课

嵌入式开发基础+实践教程课,主要包括嵌入式的基础知识和硬件架构知识

2015-06-29

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

TA关注的人

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