08 2017 档案

摘要:在学redis之前先了解nosql(Not only sql)不是(no sql)。非关系型数据库 为什么需要nosql。 1.高并发读写:在目前的大型网站中,并发量非常高,可能每秒可能几万条数据。如果只是查询的话,关系型数据库还能应付,但是如果是读和写,就显得力不从心了。 2. 海量数据访问和存储 阅读全文
posted @ 2017-08-24 20:11 戴林甫 阅读(204) 评论(0) 推荐(0)
摘要:注1:N为定点数,M为边数 注2: Floyd的编码复杂度较小,均摊到每个点上的时间复杂度并不算太高,如果是求所有点对间的最短路径,或数据范围较小,Floyd算法较为合适 注3: Dijkstra用堆优化后,时间复杂度可以达到O(MlogN),具有良好的扩展性,最大的缺点是不能解决负权的问题 阅读全文
posted @ 2017-08-23 22:08 戴林甫 阅读(629) 评论(0) 推荐(0)
摘要:实现思路: 1.准备一个一维数组h存放数组和一个变量记录n堆的个数 2.创建堆。只分析前一半的节点,因为后面的节点都是这些节点的子节点。然后从第一个节点开始。找到其左右节点。比较大小。需要改变顺序的就改变。 3.堆排序。每次都取出堆顶点,存入一个数组。改变堆的现有数量并进行调整,使该二叉树依旧是最小 阅读全文
posted @ 2017-08-23 21:07 戴林甫 阅读(183) 评论(0) 推荐(0)
摘要:【啊哈!算法】算法9:开启“树”之旅 http://ahalei.blog.51cto.com/4767671/1403823 我们先来看一个例子。 这是什么?是一个图?不对,确切的说这是一棵树。这哪里像树呢?不要着急我们来变换一下。 是不是很像一棵倒挂的树,也就是说它是根朝上,而叶子朝下的。不像? 阅读全文
posted @ 2017-08-23 09:35 戴林甫 阅读(164) 评论(0) 推荐(0)
摘要:dijkstra算法不能解决带有负权边的图 而bellman-ford可以解决这个问题,并且在思想上和代码上都非常完美 阅读全文
posted @ 2017-08-21 15:34 戴林甫 阅读(199) 评论(0) 推荐(0)
摘要:LS 列出当前目录下的子文件 LS -L 列当前目录下的子文件详细信息 ,当然用“LL”也可以LS -A 列出所有文件,包含隐藏文件 —————————————————————— mkdir 下级目录名 创建空目录 如mkdir test 创建test的目录 mkdir -p 多级目录 如 mkdi 阅读全文
posted @ 2017-08-20 20:34 戴林甫 阅读(297) 评论(0) 推荐(0)
摘要:图片素材借鉴啊哈磊的博客 该算法用于解决一个点到其余各顶点的最短路径 先来一张图,求1点到6点的最短路径 这让我想起了差点挂科的运筹学 先用一个二维数组 还有一个一维数组存储1点到各点的距离 这个一维数组的值称为估计值。在1点可直接到达的点中选择一个最近的点,即点2.然后点2的值也就成为了确定值。 阅读全文
posted @ 2017-08-19 22:02 戴林甫 阅读(1045) 评论(0) 推荐(0)
摘要:floyd-warshall算法用来求最短路径(即动态规划)求任意两点的最短距离 时间复杂度为O(N3),空间复杂度为O(N2)。 到达目的地有两种方法,一:直接点对点,没有中转站。二:经过中转站直接到达。 在求最短路径前,先谈谈地图的存储 如图,使用二元数组存储。图中无穷大代表没有道路,e[1][ 阅读全文
posted @ 2017-08-19 20:29 戴林甫 阅读(282) 评论(0) 推荐(0)
摘要:准备阶段是给变量赋系统的初始值。而初始化阶段就是给变量赋程序员自己设的值 初始化阶段是<clinit>()方法的执行过程。过程如下 1.编辑器收集所有的赋值动作和静态块合并形成<clinit>方法。收集是按照代码出现的顺序决定的。并且静态初始化块只能访问定义在之前的变量,对于在之后的变量可以赋值,但 阅读全文
posted @ 2017-08-08 21:06 戴林甫 阅读(172) 评论(0) 推荐(0)
摘要:连接阶段包含验证,准备,解析三个阶段 第一个阶段--验证:主要目的是为了载入有害的字节流导致系统崩溃。因为java的.class文件是可以通过任何途径产生的。不检查的话会出很大的问题。 由于此阶段非常重要。所以检查也是非常严谨的。主要包含以下几个方面 1.文件格式验证:是否Class文件格式的规范 阅读全文
posted @ 2017-08-07 22:37 戴林甫 阅读(466) 评论(0) 推荐(0)
摘要:加载是类加载的一个阶段。不要弄混淆了 这一阶段主要做了下面三件事。1.通过一个类的全限定名获取此类的二进制流 2.将这个二进制流代表的静态存储结构转化为方法区的运行时数据结构 3.在内存中生成java.lang.Class对象,作为访问入口 .通过一个类的全限定名获取此类的二进制流:这一步说的不明确 阅读全文
posted @ 2017-08-06 21:49 戴林甫 阅读(173) 评论(0) 推荐(0)
摘要:当类被编译为.class文件后,如何在jvm中被加载的呢 总共七个步骤:加载,验证,准备,解析,初始化,使用,卸载。其中加载,验证,准备,初始化,卸载都必须按照顺序来。解析可以在初始化后再开始。使用就可有可无了 先看初始化阶段。有且只有5种情况必须对类进行初始化 (1) 遇到new、getstati 阅读全文
posted @ 2017-08-05 22:39 戴林甫 阅读(817) 评论(0) 推荐(0)