数据结构与算法
文章平均质量分 77
zhouguanya20
专业从事互联网相关技术开发和支持
展开
-
二分法查找/折半查找
·二分查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后原创 2016-03-04 00:20:37 · 1102 阅读 · 0 评论 -
算法分析——最大连续子序列和的问题
·最大连续子序列求和问题问题引出:给定整数A1,A2,A3··· AN(可能有负数),求解的最大值。如果所有的整数全是负数,则最大连续子序列的和为零。举个例子,如果输入{-2,11,-4,13,-5,2},那么答案是20,它代表的连续序列是从第2项至第4项。再举一个例子,输入为{1,-3,4,-2,-1,6},那么答案是7,这个子序列包括最后4项。·简单的O(N3)算法原创 2016-02-28 23:53:54 · 1252 阅读 · 1 评论 -
数据结构——线性表的实现
线性表是同一数据类型的一个有限集合,数据之间在逻辑上存在线性关系。线性表中的元素的个数称为线性表的长度。线性表的抽象数据类型由带结构的数据和操作组成。线性表接口List的定义如下:package list;/** * 线性表接口List的定义如下 * */public interface List { public Object value(int pos);// 返回线性表原创 2016-07-10 20:07:05 · 583 阅读 · 0 评论 -
数据结构——链表表的实现
package list.linkedlist;/** * 线性表接口List的定义如下 * */public interface List { public Object value(int pos);// 返回线性表中地pos个元素的值 boolean add(Object obj, int pos);// 向第pos个元素位置插入一个元素obj void remove(原创 2016-07-13 21:30:08 · 367 阅读 · 0 评论 -
数据结构——模拟集合的实现(2)
模拟集合的实现——链式集合先整个接口,定义一些集合的通用方法,集合类都实现此接口package com.zgy.set;/** * 定义一个集合接口,定义一些集合的通用方法 * */public interface Set { public boolean add(Object obj); public boolean remove(Object obj原创 2016-07-06 22:17:18 · 421 阅读 · 0 评论