11 2014 档案

散列表
摘要:散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。类似于数学中的映射关系。 现假设关键字的全域... 阅读全文

posted @ 2014-11-30 11:57 ym65536 阅读(170) 评论(0) 推荐(0)

二叉树
摘要:一、二叉树简介 二叉树节点定义为:1 struct TreeNode 2 {3 int val;4 TreeNode *left;5 TreeNode *right;6 TreeNode(int x) : val(x), left(NULL), right(NULL... 阅读全文

posted @ 2014-11-26 22:26 ym65536 阅读(231) 评论(0) 推荐(0)

异或运算
摘要:异或运算是位运算,不产生进位,也不会对其他bit产生影响。一般用XOR表示,在C语言中,异或用'^'表示。异或运算法则与无进位的二进制加法一致:0^0=0,1^0=1,0^1=1,1^1=0(同为0,异为1), 其逻辑表达式为A XOR B=A'B + AB'对任意元素a, 令其二进制位第k位为... 阅读全文

posted @ 2014-11-17 17:58 ym65536 阅读(863) 评论(0) 推荐(0)

GitHub使用简介
摘要:1、创建新项目 登陆到GitHub(https://github.com/)并注册后,选中New repository, 填写相关信息并点击Create repository即可。 2、版本管理 a) git clone https://github.com/$(USERNAME)/$(REPO). 阅读全文

posted @ 2014-11-10 17:47 ym65536 阅读(384) 评论(0) 推荐(0)

归并排序
摘要:归并排序重点在治,即合并两个有序数组: 1 void merge(int A[], int p, int q, int r) 2 { 3 int i = 0, j = 0, k = p; 4 int m = q - p + 1; 5 int n = r - q; 6 ... 阅读全文

posted @ 2014-11-06 17:55 ym65536 阅读(159) 评论(0) 推荐(0)

快速排序
摘要:快速排序和归并排序都是分治法的典型应用,主要区别在于,快速排序重在分,而归并排序重在治。 快速排序基于以下假设:已知x,序列中一半的数据大于x,另一半小于等于x,且小于等于x的数据在数组前一半,大于x的在后一半。这种分割不需要额外的存储空间,对两侧数据分别递归进行,最终数组排序即可完成。 实... 阅读全文

posted @ 2014-11-06 10:43 ym65536 阅读(289) 评论(0) 推荐(0)