当开始编程工作时,就会有很多关于你必须学习哪种最热门编程语言的讨论。但跟任何程序员进行讨论的时候,他们会告诉你学习语言并不是学习编程的唯一。同样重要的是要理解组成基础编程语言的核心概念,即算法、数据结构以及学习如何使用技术框架,这些现已成为创造一个伟大的技术产品的精髓。既然你可以在HackerEar...
分类:
其他好文 时间:
2014-05-01 13:26:33
阅读次数:
325
1
/**************************************************************************************
2 * Function : 模拟栈 3 * Create Date : 2014/04/23 4...
分类:
其他好文 时间:
2014-05-01 12:39:59
阅读次数:
322
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
希尔排序
希尔排序,有时称为递减增量排序,是在插入排序基础上,把列表拆成几个较小的子表,然后对每个子表使用插入排序的方法。选出子表的方法是希尔排序的关键,它并不是把列表的中相近的元素取出来组成子表,而是使用了一个增量值I,有时也叫做“间隙”,然后每隔一个间隙选中一个元素来组成子表。
这可以从图6中看出来,列表中有9个元素,如果我们使用增量3,就有3个子表,每个子表单独做插入排序。完成之后的...
分类:
编程语言 时间:
2014-04-29 13:15:20
阅读次数:
353
进程的权限继承自创建进程用户和用户所属的用户组。用户有专用数据结构来表示权限—访问令牌(Access Token)。访问令牌包括两个部分:一个是令牌所表示的用户,包括用户标识符(SID),用户所属的用户组等;另一部分是“权限”(Privilege)。
在进程访问安全对象时,会用到SID。每个安全对象都有访问控制列表(ACL),ACL说明了哪些用户( SID)能访问本对象,哪些不能,以及能进行哪种...
分类:
其他好文 时间:
2014-04-29 13:13:21
阅读次数:
346
原题链接: http://oj.leetcode.com/problems/reverse-linked-list-ii/
这道题是比较常见的链表反转操作,不过不是反转整个链表,而是从m到n的一部分。分为两个步骤,第一步是找到m结点所在位置,第二步就是进行反转直到n结点。反转的方法就是每读到一个结点,把它插入到m结点前面位置,然后m结点接到读到结点的下一个。总共只需要一次扫描,所以时间是O(n...
分类:
其他好文 时间:
2014-04-28 10:38:42
阅读次数:
240
第三讲 风格与模式
3.1自顶向下风格
复杂问题分解,直到小问题足够简单,可以掌控为止
是一种思考方式
把大的任务不断的分解为更小的子任务
另一法宝:忽略,忽略细节
程序问题
制定框架---》逐步细化---》逐步精华---》分解为子问题
打印特定的形状
做一个二维数组的缓冲区
向缓冲区输出
缓冲区输出屏幕上
数组初始元素都是0
表格:横线,竖线。...
分类:
其他好文 时间:
2014-04-28 10:16:40
阅读次数:
436
了解了数据结构--栈(基础知识)
下面简单整理了下有关栈的几个应用。
递归
把一个直接调用自己,或间接调用自己的函数,成为递归函数。
这里有一个比较好的例子,看下面一组数:
你是否发现了这组数的规律呢,没错你会发现从第三个数开始,每个数都是前面两个数的之合。
现在我们通过程序来实现这个算法,如下java代码:
public class Test {
private ...
分类:
其他好文 时间:
2014-04-27 22:37:30
阅读次数:
404
在Linux内核中,hlist(哈希链表)使用非常广泛。本文将对其数据结构和核心函数进行分析。
和hlist相关的数据结构有两个:hlist_head 和 hlist_node
//hash桶的头结点
struct hlist_head {
struct hlist_node *first;//指向每一个hash桶的第一个结点的指针
};
//hash桶的普通结点
struct hl...
分类:
系统相关 时间:
2014-04-27 21:24:06
阅读次数:
579
很久没有用过二叉树了,最近由于需要用到了,发现很多知识需要巩固了,中间涉及到一个算法就是找任意两个节点的最近祖先。通过本人回顾和演算,最终提出了下面一个方法,网上也有很多其他的方式实现,再次仅对自己好几个小时的工作作个记录和积累吧! 程序是用C语言写的,个人觉得如果用C#实现会更加方便。
首先是数据结构定义:
typedef char TElemType;
typedef bool Statu...
分类:
其他好文 时间:
2014-04-27 21:14:06
阅读次数:
366