摘要:
要说希尔排序首先要明白插入排序,排序—插入排序 :http://www.cnblogs.com/PerkinsZhu/p/5664808.html 插入排序是直接对数组进行循环插入,二希尔排序是先把数组分隔成多个特别的数组,然后再对分割出来的数组进行插入排序。 该如何对数组进行分割呢? 取一个步长 阅读全文
摘要:
先说什么是栈: 1、后进先出 2、对数据的所有操作只能在固定的一端进行操作,不能再中间或者另一端对数据进行操作。 符合以上两点的 存储数据的类(对象) 叫做栈。 需要说明的是:栈是符合以上两个特性的所有的数据结构都可以叫做栈,无论其用什么基本容器实现的。 再说如何实现: 可以使用数组或者链表实现栈, 阅读全文
摘要:
建造者模式:把工人(对象组件的建造者ComputerCreator)给主管(Director),让主管告诉工人如何一步一步创建产品。 各司其职,主管知道该怎么创建对象,但是不会创建具体的对象模块。工人会创建具体的模块但是不知道给怎样一步一步创建。两者组合创建出需要的对象。 优势:把复杂对象的各个模块 阅读全文
摘要:
装饰者模式:灵活的对一个对象的功能进行修改。 优势:可以自由的对对象进行功能(行为)进行添加、删除操作。而不像继承那样会继承一些父类多余的方法。 示例说明:创建两个人,一个正常的人(NormalPerson)可以进行呼吸、哭、说话、跑、跳、开车;另一个聋哑人只可以进行呼吸、跳、跑、哭。要求重用各种动 阅读全文
摘要:
单例模式:程序在运行期间只能有一个实例对象。 第一中实现方式:饥汉模式 在类进行初始化的时候 就加载了singleton 对象,这是会占用内存。 第二种实现方式:懒汉模式 在进行调用时对singleton进行实例化,这时如果多个线程同时调用getInstance(),这时线程存在安全问题。 为了解决 阅读全文
摘要:
代理模式:代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。 示例说明:代理者Proxy 代理MrLi 给MrssHong 送礼物。 类图如下: 代码实现: 定义一个送礼物的接口:GiveGift 实现MrLi: 实现代理Proxy : 被送礼物者:MrssHong 测试类: 阅读全文
摘要:
当我们在调试,优化我们的代码的时候,想知道某段代码的真正的执行时间,或者我们怀疑某段代码,或是某几段代码执行比较慢, 需要得到具体的某段代码的具体执行时间的时候。有一个很好用的类Stopwatch。 Stopwatch 类在 System.Diagnostics命名空间下。可以用来做分析.net代码 阅读全文
摘要:
二叉排序树集中了数组的查找优势以及链表的插入、删除优势,因此在数据结构中占有一定的地位。但在一定的情况下二叉排序树又有可能变为链表,例如插入从1~100的数,这时进行数据查找的效率就要降低。 为了解决二叉排序树这种左右子树深度不均匀的情况引入了一种平衡二叉树(AVLTree):任何一个节点的左右子树 阅读全文
摘要:
Nancy是一个基于.net 和Mono 构建的HTTP服务框架,是一个非常轻量级的web框架。 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。它提供了一个super-duper-happy 阅读全文
摘要:
目前很多网站管理者似乎对robots.txt并没有引起多大重视,甚至不知道这么一个文件的作用。本来应该保密的信息被爬虫抓取了,公布在公网上,本应该发布到公网的信息却迟迟不被搜索引擎收录。所以下面这篇文章,就来介绍robots.txt的作用和写作 robots.txt基本介绍 robots 是一个纯文 阅读全文