代码改变世界

算法100题48

2011-09-16 12:59 by justvi, 200 阅读, 0 推荐, 收藏, 编辑
摘要:/* 题目来自:http://blog.csdn.net/v_JULY_v* 一个数组由一个递减数列左移若干位形成,如{4, 3, 2, 1,6,5}由{6,5,4,3,2,1}左移两位而成在这种数组中查找某一个数* 方法1:遍历数组查找次数,O(n)* 方法2:----------------------* 设原数列为:a0,...,an,移位后形成的数列为:b0,...,bn,* 且有ai=bj,则满足j=(i+len-m)%len (m为移位位数)* 要求得某数位置,可先求得次数在原数列中的位置再按上面公式计算而来。* 可以先求出数列中的最大值,已知数列长度及递减步长,则可以求... 阅读全文

hash习

2011-08-04 22:20 by justvi, 171 阅读, 0 推荐, 收藏, 编辑
摘要:1.什么是散列:一种高效的数据存储与检索技术,普通数组概念的推广,散列表不把关键值作为数组下标,而是通过设计好的散列函数,将关键值映射到数组下标范围内的一个索引值,通过这个索引值来完成对值的插入、查找、删除等操作。实际情况中,因为散列表的下标范围通常小于实际存储的数据量,所以难免出现不同的关键值散列到同一个索引位置的情况,这时就称发生了冲突,解决冲突可以通过两个方法来进行:设计好的散列函数,能将关键字均匀的散列到表中;采用某种冲突解决方法2.散列函数简单一致散列假设:任何关键字散列到表中每个位置的可能性是相同的,且散列到某个位置的可能性与其他关键字是独立无关的将关键字转换为数字:为什么要这样做 阅读全文

近期杂

2011-06-13 19:57 by justvi, 161 阅读, 0 推荐, 收藏, 编辑
摘要:”c语言声明有时会带来严重的问题“ 《tcpl》p122"c is sometimes castigated for the syntax of its declarations, particulaly ones that involve pointers to functions""正是由于在组合类型方面的笨拙行为,c被显著且无必要地复杂化了“c声明晦涩之因:1.c前身BCPL无类型模型之概念2.声明形式与使用形式尽可能相同3.无法以习惯方式从左到右阅读结构参数传递:“在调用函数时,参数按从右到左方式压入堆栈“,这种说法过于简单。参数传递时首先尽可能地放入到寄 阅读全文

机器级表示

2011-05-12 09:46 by justvi, 140 阅读, 0 推荐, 收藏, 编辑
摘要:平坦寻址方式:将整个存储空间看做一个大的字节数组 机器级程序两种重要的抽象:1、指令集体系结构,定义了处理器状态、指令格式及指令对状态的影响 2、虚拟地址空间 处理器状态: 1、程序计数器pc:下一条指令在存储器中的地址 2、整数寄存器:存储32位值,存储指针或整数数据,保存重要的程序状态、临时数据(过程的局部变量、返回值) 3、条件码寄存器:最近执行的算术或逻辑指令的状态信息,实现条件、循环语句... 阅读全文

信息的存储

2011-05-07 16:51 by justvi, 173 阅读, 0 推荐, 收藏, 编辑
摘要:1.转换 2.字长:机器的字长指明了整数与指针数据的标称大小,所以32位机long占4字节、指针4字节,而64位下long及指针数据占8字节。虚拟地址是以这样的字长来来编码的,所以32位机器虚拟地址空间大小为4GB 3.寻址与字节序: 对于跨越多个字节的对象寻址需要确定两个问题:1.对象的地址 2字节如何排列 对于1,对象的地址采用的是对象占据空间中的最小地址 对于2,有两种排列方式:大端法和小... 阅读全文

接下来要看的书

2011-05-04 19:41 by justvi, 182 阅读, 0 推荐, 收藏, 编辑
摘要:linux程序设计深入理解计算机系统算法导论c程序设计语言程序员的自我修养python语言入门python核心编程集体智慧编程信息检索导论深入搜索引擎-海量信息的压缩、索引和查询搜索引擎-信息检索实践lucene程序设计及lucene源代码阅读 阅读全文

windows live writer test

2011-04-28 22:30 by justvi, 107 阅读, 0 推荐, 收藏, 编辑
摘要:tttttttttttttttttttttttttttttttttttttt 阅读全文