
数据结构与算法
jaguar13
这个作者很懒,什么都没留下…
展开
-
Linux内核中的红黑树
红黑树是平衡二叉树的一种,它有很好的性质,树中的结点都是有序的,而且因为它本身就是平衡的,所以查找也不会出现非常恶劣的情况,基于二叉树的操作的时间复杂度是O(log(N))。Linux内核在管理vm_area_struct时就是采用了红黑树来维护内存块的。 先到include/linux/rbtree.h中看一下红黑树的一些定义,如下: struct rb_node{...原创 2010-07-03 16:25:04 · 278 阅读 · 0 评论 -
百度笔试题:在矩阵中查找k
题目:给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增1 2 33 5 64 8 9现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗) 答案:沿着矩阵的对角线进行二分查找。如果k在这条对角线上,则可以得出,k在矩阵中;如果k比对角线上第一个数小,或者比对角线上最后...2010-07-05 13:33:57 · 553 阅读 · 0 评论