窗

第二章节二——整数表示

第二章——信息的表示和处理

整数表示

整型数据类型

long是唯一一个与机器相关的大小指示符. 它在32位机器上是4字节的, 在64位机器上是8字节的.

无符号数的编码

原理: 无符号数编码的定义

对向量\overrightarrow{x}=[x_{w-1},x_{w-2},...,x_0]

B2U_w(\overrightarrow{x}) \dot{=} \sum^{w-1}_{i=0}{x_i2^i}

补码编码

原理: 补码编码的定义

对向量\overrightarrow{x}=[x_{w-1},x_{w-2},...,x_0]

有:

B2T_w(\overrightarrow{x}[......]

继续阅读

几个高级排序

几个高级排序

Merge Sort

定义

Merge Sort是建立在归并操作上的一种有效的排序方法, 效率为O(n*log(n)). 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用, 求各层分治可以同时进行.

算法(C#)

    public class MergeSort
    {
        /// <summary>
        /// 归并排序
        /// </summary>
        /[......]

继续阅读

选择排序和插入排序 还有希尔排序

三个基本排序

复杂度图

选择排序

定义

对n个元素依次遍历, 把该元素右边的所有元素找到最小值放到左边.

算法

for i = 1:n,
    k = i
    for j = i+1:n, if a[j] < a[k], k = j
    → invariant: a[k] smallest of a[i..n]
    swap a[i,k]
    → invariant: a[1..i] in final position
end

对数据的敏感性和复杂度分析

选择排序第一次内循环比较N -[……]

继续阅读

深入计算机系统第二章 第一节

第二章——信息的表示和处理

三种重要的数字表示

  • 无符号(unsigned)编码基于传统的二进制表示法, 表示大于或等于0的数字.
  • 补码(two’s-complement)编码是表示有符号整数最常见的方式.
  • 浮点数(floating—point)编码是表示实数的科学计数法的以2为基数的版本.

由于表示的精度有限, 浮点运算是不可结合的.

使用命令行指定C版本

linux[......]

继续阅读

计算机系统 第一章

第一章

简述

计算机系统是由硬件和系统软件组成的.

信息就是位+上下文

ASCII:

  • SP : 32
  • \n 10

系统中所有的信息, 都是由一串比特表示的.

一个简洁的设计最好由一个人而非一个协会掌控. (C语言)

C语言是设计用来实现Unix操作系统的, 是[……]

继续阅读

Endless Love

Endless Love

[Verse 1]
[Luther Vandross]
My love
There’s only you in my life
The only thing that’s right
Ooh yeah

[Mariah Carey]
My first love (Yeah)
You’re every breath that I take
You’re every step I make

[Chorus 1: Luther & Mariah]
(Oh) And I (And I)
I want to share
All my love with you, hey[……]

继续阅读

歌手歌词收集器

懒, 直接上源码

输出来的东西还有点怪怪的, 懒得用正则表达式修复了

import requests
from bs4 import BeautifulSoup as bs
import re
import time

rootAdress = "https://www.azlyrics.com/"
htmlData = []
songURLList = []

pattern = re.compile('../lyrics/.*')
titlePattern = re.compile('(?<=</div><b>[......]

继续阅读

树, 森林, 二叉树

一大堆树来了

树转换为二叉树

  • 加线.在所有兄弟结点之间加一条连线.

  • 去线.树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线.

  • 层次调整.以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明.(注意第一个孩子是结点的左孩子,兄弟转换过来的孩子是结点的右孩子.

森林转换为二叉树

  • 把每棵树转换为二叉树.

  • 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来.

二叉树转换为树

是[……]

继续阅读