2012年6月12日
摘要: 循环链表,最后的尾指针指到头结点上,双向循环链表就是再加个pre指针。约瑟夫环的问题:设编号分别为:1,2,3,...n的n个人围坐在一圈。约定序号为k(1<=k<=n)的人从1开始计数,数m的那个人出列,他的下一位又开始从1开始计数,数到m的那个人又出列,以此类推,直到所有的人都出列。例如:设 n = 8,k= 3 , m = 4时,出列序列为:6 2 7 4 3 5 1 8算法思路:用一个不带头结点的循环链表来处理Josephu问题:先构成一个有n个节点的单循环链表,然后从第k结点起从1计数,记到m时,对应的结点从链表中删除;然后再从被删除结点的下一个结点起又从1开始计数... 阅读全文
posted @ 2012-06-12 22:22 孟浩依然 阅读(372) 评论(1) 推荐(0) 编辑
摘要: 学习总结:linux内核用到很多数据结构的知识,虽然linux是C语言编写,但是里面众多内容是面向对象的思想。所以数据结构的知识很基础,很重要。数据结构指的是数据的逻辑结构和存储结构及其操作:数据的逻辑结构 线性结构 :1.线性表 2.栈 3.队列 非线性结构 :1.顺序存储 2.图形结构数据的存储结构 顺序存储 链式存储数据的运算:检索、排序、插入、删除、修改等先自己写个线性表的操作。以后留着自己看看。顺序存储结构:(其实函数的返回值一定要判断,那么就比较完美啦,linux内核中的函数一般都有返回值,一般的话错误返回-1,正确的如果只是判断的话返回0,所以我觉得自己定... 阅读全文
posted @ 2012-06-12 19:14 孟浩依然 阅读(586) 评论(0) 推荐(0) 编辑