排序与变量
<h2>位与字节关系</h2>
<ul>
<li>
<p>Bit “位”或“比特”,是计算机运算的基础,属于二进制的范畴;</p>
</li>
<li>
<p>Byte “字节”,计算机文件大小的基本计算单位;</p>
</li>
<li>
<p>通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。</p>
</li>
<li>
<p>在应用层通常是用byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte</p>
</li>
<li>
<p>字节是内存的基本单位,也是编址单位,例如,某计算机的内存是4GB,指的就是该计算机的内存中共有4×1024×1024×1024个字节。</p>
</li>
<li>
<p>单位换算</p>
<p>1 Byte = 8 Bits(即 1B=8b)
1 KB = 1024 Bytes
1 MB = 1024 KB</p>
</li>
</ul>
<h2>变量组成</h2>
<ul>
<li>变量由地址与内容组成</li>
<li>地址可以理解为指针,这个地址也是一个变量,因此也可以对指针进行操作</li>
<li>内容就是变量的值,根据值的长度,可以划分出不同的数据类型,
<ul>
<li>如:布尔型,整型,浮点型,数组,对象等。</li>
<li>数据类型划分的不同长度,是为了最大化使用内存。</li>
</ul></li>
</ul>
<h2>变量说明</h2>
<ul>
<li>通俗的讲,变量就是可以变的量,例如上小学时,x + 5 = 12,x是多少,x就是一个变量。</li>
<li>变量中所存储的数据是可以改变的。</li>
<li>变量的实质是按照变量所存储数据的大小被分配到的一块内存空间。
<ul>
<li>变量是程序中数据存储的最小单位,每个变量都对应着一块物理上的内存空间。</li>
</ul></li>
<li>计算机所处理的数据都存储在了被称为<strong>内存的IC(Integrated Circuit,集成电路)中</strong>。
<ul>
<li>在一般的个人计算机中,内存内部被分割成了若干个数据存储单元,每个单元可以存储8比特的数据(8比特 = 1字节)。</li>
<li>为了区分各个单元,每个单元都被分配了一个编号,这个编号被称为“地址”或是“门牌号码”。</li>
<li>如果一台个人计算机装配有64M字节的内存,那么就会有从0到64M(M = 100万)这么多个地址。</li>
</ul></li>
<li>依靠指定地址的方式编写程序很麻烦,所以在C语言、Java、BASIC等几乎所有的编程语言中,都是使用变量把数据存储进内存,或从内存中把数据读出来的。</li>
<li>对于程序员来说,他们并不需要知道变量被存储到内存空间中的哪个地址上了。
<ul>
<li>当程序运行时是由操作系统为我们从尚未使用的内存空间中划分出一部分分配给变量的。</li>
</ul></li>
</ul>
<h2>线性表</h2>
<ul>
<li>即线性数据结构,如数组和链表。</li>
<li>线性表常规排序算法
<ul>
<li>包括冒泡、插入、选择、归并和快排</li>
</ul></li>
<li>综合性能最好的是快排,快排在实践中有大量应用,如 PHP 数组排序函数 sort 就是使用此算法。</li>
</ul>