2016年5月7日

哈希表的基本操作

摘要: 散列(hash)表/哈希表 1.关键字和和存储的地址建立一个对应的关系:Add = Hash(key); 2. 解决冲突方法: (1)开放定址法 – 探测方式:线性探测、二次探测。 (2)再哈希法 (3)分离链接法 – 利用链表的方式。 (4)公共溢出区法 3.存储结构:用顺序存储来构建哈希表。构建 阅读全文

posted @ 2016-05-07 01:13 yujon 阅读(547) 评论(0) 推荐(0) 编辑

顺序循环队列的基本操作

摘要: #include #include #define OK 1 #define ERROR 0 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int QElemType; #define MAXQSIZE 100 // 最大队 阅读全文

posted @ 2016-05-07 01:12 yujon 阅读(1219) 评论(0) 推荐(0) 编辑

栈的基本操作

摘要: #include #include #include #define OK 1 #define ERROR 0 #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef int SElemType; typedef int Statu 阅读全文

posted @ 2016-05-07 01:11 yujon 阅读(335) 评论(0) 推荐(0) 编辑

二叉平衡排序树的基本操作

摘要: //定义数据类型 #define MAXSIZE = 100; #define OK 1; #define ERROR 0; typedef int status; typedef int ElemType; //平衡二叉排序树的结构 typedef struct Tnode { ElemType 阅读全文

posted @ 2016-05-07 01:10 yujon 阅读(329) 评论(0) 推荐(0) 编辑

图的遍历

摘要: 图的遍历和树的遍历类似,希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫图的遍历。 对于图的遍历来说,如何避免因回路陷入死循环,就需要科学地设计遍历方案,通过有两种遍历次序方案:深度优先遍历和广度优先遍历。 1. 深度优先遍历 深度优先遍历,也有称为深度优先搜索,简称 阅读全文

posted @ 2016-05-07 01:09 yujon 阅读(983) 评论(0) 推荐(0) 编辑

图的简介与创建

摘要: 一、基本术语 图:由有穷、非空点集和边集合组成,简写成G(V,E); Vertex:图中的顶点; 无向图:图中每条边都没有方向; 有向图:图中每条边都有方向; 无向边:边是没有方向的,写为(a,b) 有向边:边是有方向的,写为 有向边也成为弧;开始顶点称为弧尾,结束顶点称为弧头; 简单图:不存在指向 阅读全文

posted @ 2016-05-07 01:08 yujon 阅读(2278) 评论(0) 推荐(1) 编辑

哈弗曼树的构建,哈夫曼编码、译码

摘要: 哈夫曼树的基本概念 哈夫曼树(Huffman Tree),又叫最优二叉树,指的是对于一组具有确定权值的叶子结点的具有最小带权路径长度的二叉树。 (1)路劲(Path):从树中的一个结点到另一个结点之间的分支构成两个结点间的路径。 (2)路径长度(Path Length):路径上的分支树。 (3)树的 阅读全文

posted @ 2016-05-07 00:58 yujon 阅读(11312) 评论(0) 推荐(0) 编辑

二叉排序树的基本操作

摘要: //节点 typedef struct bsnode{ int data; struct bstree *lchild; struct bstree *rchild; }bsnode,*bstree; 创建二叉排序树: 1创建二叉树: void createbstree(bstree &bt){ / 阅读全文

posted @ 2016-05-07 00:57 yujon 阅读(792) 评论(0) 推荐(0) 编辑

线索二叉树的基本操作

摘要: //定义数据类型 typedef enum{Link, Thread} PointerTag; //link = 0表示指向左右孩子指针,Thread = 1表示指向前驱或后继的线索 typedef struct BitNode { char data; //结点数据 struct BitNode 阅读全文

posted @ 2016-05-07 00:56 yujon 阅读(1865) 评论(0) 推荐(0) 编辑

二叉树的基本操作

摘要: 一、定义数据类型: //二叉树节点 typedef struct BiTNode { char data; struct BiTNode * lchild,*rchild; } BiTNode,*BiTree; //栈节点 typedef struct Stack { BiTNode a[NUM]; 阅读全文

posted @ 2016-05-07 00:53 yujon 阅读(1213) 评论(0) 推荐(0) 编辑

树的基本操作

摘要: 一、关于树: 数的定义是递归的: 定义树是满足以下条件的,包含至少一个结点的有限集合: (1)树中有一个特别指定的结点,称为根,或树根。 (2)其它结点划分成n>=0个不相交的集合T1…Tn ,每个集合又还是一棵树,但称为根的子树。 树的主要操作包括:求树的深度、求给定节点的子节点、兄弟节点、遍历树 阅读全文

posted @ 2016-05-07 00:52 yujon 阅读(3434) 评论(0) 推荐(1) 编辑

哈希查找

摘要: 除留余数法与开放定址法构建哈希表: 定义哈希表类型: typedef datatype{ int key; int hi; //表示本该存储的位置到最后存储的位置的冲突次数 } typedef HashTable{ datatype *base; //指向表的指针 int length; //表长 阅读全文

posted @ 2016-05-07 00:50 yujon 阅读(320) 评论(0) 推荐(0) 编辑

KMP算法

摘要: #include "stdio.h" #include "stdlib.h" #include "iostream.h" #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASLBLE -1 #define 阅读全文

posted @ 2016-05-07 00:50 yujon 阅读(281) 评论(0) 推荐(0) 编辑

九大排序算法

摘要: * 为了实现N个数的排序,将后面N-1个数依次插入到前面已排好的子序列中, *假定刚开始第1个数是一个已排好序的子序列。经过N-1趟就能得到一个有序序列。 *****时间复杂度:最好情况O(n),最坏情况O(n^2),平均情况O(n^2). *****空间复杂度:O(1) *****稳定性:稳定 # 阅读全文

posted @ 2016-05-07 00:48 yujon 阅读(670) 评论(0) 推荐(0) 编辑

动态规划

摘要: 动态规划的原理及应用 动态规划是运筹学的一个分支,是求解多阶段决策过程的最优化数学方法。20世纪50年代初美国数学家R.E.Bellmma 等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,逐个求解, 创立了解决这类问题的新方法——动态规划。 动态规划 阅读全文

posted @ 2016-05-07 00:46 yujon 阅读(711) 评论(0) 推荐(0) 编辑

js内置对象总结

摘要: 在js里,一切皆为或者皆可以被用作对象。可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质。 注意:通过字面量创建的对象在调用属性和方法时会被对象包装器暂时包装成一个对象,具有对象的性质。如 var str="我不是一个真的对象"; alert(st 阅读全文

posted @ 2016-05-07 00:38 yujon 阅读(2380) 评论(0) 推荐(0) 编辑

js 常见事件

摘要: a.窗口事件,只在body和frameset元素中才有效onload 页面或图片加载完成时onunload 用户离开页面时 b.表单元素事件,在表单元素中才有效onchange 框内容改变时onsubmit 点击提交按钮时onreset 重新点击鼠标按键时onselect 文本被选择时onblur 阅读全文

posted @ 2016-05-07 00:38 yujon 阅读(6984) 评论(0) 推荐(0) 编辑

js Dom对象的属性与方法

摘要: 1.对象集合: (1).all[]; (2).images[]; (3).anchors[]; (4).forms[]; (5).links[]; 2.属性: document.cookie;设置或返回当前文档有关的所有cookie document.title;返回当前文档的标题 document 阅读全文

posted @ 2016-05-07 00:10 yujon 阅读(2133) 评论(0) 推荐(0) 编辑

深入理解Java的接口和抽象类

摘要: 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 阅读全文

posted @ 2016-05-07 00:06 yujon 阅读(136) 评论(0) 推荐(0) 编辑

导航