技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 狂Shell
    所谓引导扇区是指设备的第一个扇区,用于加载并转让处理器控制权给操作系统, 当计算机启动加电自检时,会寻找启动盘,现在电脑一般启动程序都在硬盘上,说到这可以是什么程序可以从硬盘中把程序读到计算机的内存(RAM)呢?是大部分人都知道的BIOS,那BIOS又是怎么启动的呢?我们从开机启动,只能先启动硬件,要想能够运行程序,首先需要硬件能够知道程序在哪里,在Intel的所有80x86系列的CPU中都为加电就进入16位的实模式下运行,什么为实模式?实模式是x86兼容CPU的操作模式,它是一个20bit的存储器的地址空间(2^20=1M可被寻址),其实以后我会说到保护模式,你就知道实模式的渺小(寻址范围远远不够),接着说,当加电的时候,CS:IP的值会是:0xF000:0xFFF0,物理地址会是:段地址(CS)*16+偏移地址(IP),比如刚才的计算结果为0xFFFF0就为BIOS的地址,所以加电后,硬件会首先执行这个地址的代码。
    今天有网友在抱怨文件系统的树形结构不好用, 比方说:有<>既属于C语言文件夹的,也属于C++文件夹的,但又不想把C语言和C++语言两个分类归为一块,也不想每个文件夹都复制一份,这样会很浪费空间,那有什么好的思路可以改善文件系统的树形结构呢, 一些网友和我都建议用tags,比如构思文中的图。
    折半插入排序也是插入排序的一种, 和直接插入排序区别在于插入点不同. 由于插入排序是在一个前面已经排好的序列中进行插入操作, 直接插入是需要进行顺序从右到左进行比较(可以想下刚才我们的插入扑克牌的算法), 假如对 10, J, Q, K, A 要插入9 ,直接插入排序要从A开始依次比较, 一直比较到10. 而假如我们在即将要插入9的时候看到的是Q, 因为Q > 9 这样就知道9应该插入在牌的左边位置. 这种算法就是折半排序算法.
    冒泡排序在众多排序算法中算比较简单的一个, 基本思想是, 重复的进行整个数列的排序, 一次比较两个元素(两两排序),如果它们顺序不符合就交换,重复这样直到数列没有再需要交换的数为止(结束条件).就好像气泡一样, 轻的气泡会往上漂浮,在不断漂浮的过程中,发生了两两交换过程, 所以叫冒泡排序.
    简单选择排序的基本思想是:一次选定数组中的一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上的数。(也即每次从数列中找出一个最小的数放到最前面来,再从剩下的n-1个数中选择一个最小的,不断做下去。
    一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n)),一般人认为,T(n)是f(n)中增长最快的项/此项的系数.
[ 共6篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1