摘要: 1. 问题引入最近参选了学堂在线的课程数据结构(2015秋)。课程由清华大学的邓俊辉老师主讲,在完成课后作业时,遇到了这样一个题目范围查询。在这个题目中,我需要解决这样一个子问题:给定了一组已经排好序的整数集合A[0...n]和一组闭区间[L,R],求这个整数集合中落在这个区间中的点的个数。解决这个... 阅读全文
posted @ 2015-10-26 20:36 志科 阅读(2001) 评论(0) 推荐(0) 编辑
摘要: 基本思路挖坑填数 分而治之步骤总结完整代码实现正确性分析1 当选择最左边的元素Alo作为基准值时为什么必须第一次从后往前扫描复杂度分析另一种代码实现思路代码实现正确性分析1 当选择最左边的元素Alo作为基准值时为什么必须第一次从后往前扫描2 为什么从前往后扫描的判断条件不能是小于x而必须是小于或等于... 阅读全文
posted @ 2015-10-25 16:30 志科 阅读(417) 评论(0) 推荐(0) 编辑
摘要: Linux 011下信号量的实现和应用生产者-消费者问题实现信号量信号量的代码实现关于sem_wait和sem_postsem_wait和sem_post函数的代码实现信号量的完整代码实现信号量的系统调用测试用的应用程序的实现Linux 0.11下信号量的实现和应用1.生产者-消费者问题从一个实际的... 阅读全文
posted @ 2015-07-14 17:16 志科 阅读(2766) 评论(2) 推荐(2) 编辑
摘要: 原有的基于TSS的任务切换的不足进程切换的六段论1 中断进入内核2 找到当前进程的PCB和新进程的PCB3 完成PCB的切换4 根据PCB完成内核栈的切换5 切换运行资源LDT6 利用IRET指令完成用户栈的切换1. 原有的基于TSS的任务切换的不足原有的Linux 0.11采用基于TSS和一条指令... 阅读全文
posted @ 2015-06-28 11:42 志科 阅读(3461) 评论(5) 推荐(0) 编辑
摘要: fork()是linux的系统调用函数sys_fork()的提供给用户的接口函数,fork()函数会实现对中断int 0x80的调用过程并把调用结果返回给用户程序。fork()的函数定义是在init/main.c中(这一点我感到奇怪,因为大多数系统调用的接口函数都会单独封装成一个.c文件,然后在里面... 阅读全文
posted @ 2015-05-27 16:24 志科 阅读(2806) 评论(0) 推荐(0) 编辑