- 博客(11)
- 收藏
- 关注
转载 程序员如何快速准备面试中的算法
前言 我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示: 但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料。顺便也供节后跳槽、3月春季招聘小高潮、及6月毕业找工作的朋友参考。备战
2014-11-27 09:14:25
337
转载 辗转法求最大公约数和最小公倍数
/// /// 求最大公约数 /// 辗转相除法 /// /// /// /// public static int getGreatestCommonMeasure(int num1, int num2) { i
2014-11-20 15:10:34
1112
原创 判断一个数是不是2的幂
将2的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了n个0; 因此问题可以转化为判断1后面是否跟了n个0就可以了。如果将这个数减去1后会发现,仅有的那个1会变为0,而原来的那n个0会变为1;因此将原来的数与去减去1后的数字进行与运算后会发现为零。最快速的方法:(number & number - 1) == 0原因:因为2的N次方换算是二进制为
2014-11-20 14:52:43
378
转载 单链表的逆置
如何把一个单链表进行反转?方法1:将单链表储存为数组,然后按照数组的索引逆序进行反转。方法2:使用三个指针遍历单链表,逐个链接点进行反转。方法3:从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。
2014-11-20 14:38:58
877
转载 字符串翻转的方法
老赵在反对北大青鸟的随笔中提到了数组反转。这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常)。因为我写着写着,就写出来8种方法……现在我们以字符串的反转为例,来介绍这几种方法并对它们的性能进行比较。使用Array.Reverse方法对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法public st
2014-11-20 14:04:37
412
原创 集合CSet的ArrayList实现
public class CSet { private Hashtable data; public CSet() { data = new Hashtable(); } public void Add(object item) {
2014-11-19 21:46:20
428
原创 二叉查找树的定义
public class Node { public int Data; public Node Left; public Node Right; public void DisplayNode() { Console.Write(Data + " ");
2014-11-19 20:20:48
445
原创 面向对象的链表设计
Node类: public class Node { public object Element; public Node Link; public Node() { Element = null; Link = null; }
2014-11-18 13:18:35
958
原创 队列Queue类 基数排序和优先队列
public class CQueue { private ArrayList pqueue; public CQueue() { pqueue = new ArrayList(); } public void EnQueue(object item) {
2014-11-12 10:51:15
459
原创 堆栈 Stack类
class CStack { private int p_index; private ArrayList list; public CStack() { list=new ArrayList(); p_index =-1; }
2014-11-12 09:58:41
358
原创 选择排序、冒泡排序、插入排序
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace test1{ class CArray { private int[] arr; private int upper;
2014-11-10 16:12:13
334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人