算法
文章平均质量分 61
jefferent2008
这个作者很懒,什么都没留下…
展开
-
单链表反转
这道题目有两种算法,既然是要反转,那么肯定是要破坏原有的数据结构的: 算法:我们需要额外的两个变量来存储当前节点curr的下一个节点next、再下一个节点nextnext: public static Link ReverseLink1(Link head) { Link curr = head.Next; Link next = null; Link nextnext =...原创 2011-08-29 16:24:44 · 98 阅读 · 0 评论 -
找出单链表的倒数第n个元素
这道题目有两种算法,但无论哪种算法,都要考虑单链表少于n个元素的情况。这里假设要寻找倒数第4个元素。 第1种算法,建立两个指针,第一个先走4步,然后第2个指针也开始走,两个指针步伐(前进速度)一致。 static Link GetLast4thOne(Link head) { Link first = head; Link second = head; for (...原创 2011-08-29 16:33:54 · 529 阅读 · 0 评论 -
找出单链表的中间元素
算法思想:使用两个指针first和second,只是first每次走一步,second每次走两步,这样当second达到链表尾部时,first刚好在链表的中间。 static Link GetMiddleOne(Link head) { Link first = head; Link second = head; while (first != null && ...原创 2011-08-30 00:02:14 · 257 阅读 · 0 评论 -
位图法
位图法定义 所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。 例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int数组,一个int有32个位,就可以表示32个人。操作的时候可以使用位操作。 位图法应用 一、给40亿个不重复的unsign...原创 2011-09-01 17:23:25 · 151 阅读 · 0 评论