摘要: 简介: 求最短路径算法中最具代表性的是Dijkstra算法。 Dijkstra算法的思想是基于贪心策略的。 概述其过程是通过设置顶点集合S并不断地做贪心选择来扩充集合。 贪心选择的标准是每次都选择从源节点到该节点的路径长度最短。 难点: 网络上博客中大多数人写的最短路径算法大多都是只能寻找到最短的一 阅读全文
posted @ 2017-07-27 21:23 zhongzh 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 1.echarts是什么? 关键字:data visualization,canvas,chart Echarts是基于轻量级的canvas类库,纯javaScript实现,MVC封装,数据驱动,一款直观、生动,可交互,可个性化定制的数据图表。 2.为什么Echarts基于canvas类库? svg 阅读全文
posted @ 2017-06-21 23:16 zhongzh 阅读(1975) 评论(0) 推荐(0) 编辑
摘要: 1.描述客观现象,不要带入主观结论。例如“分组”菜单没有存在的必要,这是一个主观结论。 2.尽量使用语言准确,容易理解,可以使得开发人员通过阅读bug描述找到重现bug的步骤。例如打开某系统时尽量提供url,关键描述尽量详细。例如“聚合异常”,这句话不够详细,没有描述怎么算异常。 3.测试要完备,对 阅读全文
posted @ 2017-06-19 22:27 zhongzh 阅读(1075) 评论(0) 推荐(0) 编辑
摘要: 1.命名 命名是一个看似简单却值得深究的一个过程。变量、函数、文件等等命名有一些内在的要求:见名知义。一个好的名字可以让人一眼就知道它是做什么的,它往往是一个事物的高度概括。如果一个名字取得不好,那么可能会其他人带来阅读上的困难,甚至引起歧义。变量名和文件名一般采用名词,而函数名一般采用动宾结构。 阅读全文
posted @ 2017-06-19 22:26 zhongzh 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 重构的定义: 重构是一种在不改变软件可观察行为的前提下对软件内部结构一种调整。 重构的目标: 1.代码容易阅读。 2.所有的逻辑都只在唯一的地点指定。 3.新的改动不会危机到现有的行为。 4.尽可能简单表达条件逻辑。 重构与重写的区别: 重构不改变外部的结果,只是调整内部结构; 重写则是推倒重来,重 阅读全文
posted @ 2017-01-16 20:19 zhongzh 阅读(320) 评论(0) 推荐(1) 编辑
摘要: js的数组可以看成特殊的对象,获取指定项的行为跟获取对象中指定key对应项的行为是一致的。 一般都是hash map实现的,因而复杂度是常数级的。 阅读全文
posted @ 2016-10-17 21:50 zhongzh 阅读(1553) 评论(0) 推荐(0) 编辑
摘要: TDD测试驱动开发 一、概念 TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码。传统的方式是先写代码,再测试,它的开发方式与之正好相反。 TDD是极限编程的一个最重要的设计工具之一,使得我们编码的目的更加明确。而极限编程的另一个最重要的工具—重构。重构改变的是代码的内部结 阅读全文
posted @ 2016-08-21 21:50 zhongzh 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 一、背景 1963年, Tutte提出的质心法被公认为是第一个事实上的力导向算法。1984年, Eades提出了一种电荷弹簧模型, 以带电环代替图的顶点, 弹簧代替图的边, 尝试用物理方法画图, 从而开拓了力导向算法的新思路。该算法首先为图中各顶点赋予随机的初始位置, 然后系统在电荷之间的斥力和弹簧 阅读全文
posted @ 2016-07-10 09:37 zhongzh 阅读(3311) 评论(0) 推荐(0) 编辑
摘要: 一、破解准备: 组合一: 侦壳 language.exe 脱壳AspackDie.exe 反编译 W32Dasm黄金中文版 十六进制编辑器 UltraEdit 组合二: PEid Ollydbg 二、破解软件步骤: 1.查壳 一般软件都会加壳,所以我们想破解软件,首先必须知道待破解的软件所加壳的类型 阅读全文
posted @ 2016-06-30 10:46 zhongzh 阅读(1520) 评论(0) 推荐(0) 编辑