窗

计算机系统 第一章

第一章

简述

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

信息就是位+上下文

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>[......]

继续阅读

树, 森林, 二叉树

一大堆树来了

树转换为二叉树

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

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

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

森林转换为二叉树

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

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

二叉树转换为树

是[……]

继续阅读

算法——变长数组Stack

Resize Array

First Try

push()  //增加1个Array的size
pop()   //减少1个Array的size

但这样的方法代价太昂贵,需要将所有的元素copy至新的array.

push前N个元素需要1 + 2 + ... + N \sim \frac{N^2}{2}

Then?

push

所以我们在每次增大数组时,double数组长度。

这样我们的时间开销变为N + (2+4+8+...+N) \sim[......]

继续阅读

二叉树

二叉树的生成和操作

真的没想到,这种简单的问题居然还要开一个Topic,

I Slay!

二叉树的结构

一个无性繁殖人生了两个孩子,没想到吧,孩子还是无性繁殖的…

*真是恐怖*

那么最简单元就是上图这样了。

代码如此:

struct BinaryTree {
  Element data;    //节点的数据类型
  struct BiTree* leftChild;  //1号孩子
  struct BiTree* rightChild; //2号孩子
}tree;  //[......]

继续阅读

窗的小记 4/20

完成了数模竞赛的论文

真的挺累,也明白了一个道理——上班一定得摸鱼,不然会被累死,或许这就是社畜吧。

其实一直和队友缺乏沟通,到最后再开始火急火燎的沟通起来,但时间已经很紧张了。

问题在此:我不愿意指出不熟悉的人犯得错误,有时很真的很耽误时间,只能把情绪慢慢累积到最后再一次性倾泻出去,当然,并不是每次都会弄得天翻地覆。

下次有话就直说吧,不要怕犯错。

You look nice.

博客真好

写给别人看和写给自己看的时候,语气完全不同了,你也会这样吗?

Bindow,我是说你。

或许你也这么想?

小秘密藏在被窝里,让小熊一家陪你分担吧。

记得,被子要厚一点,不然就没有山来阻隔寒风了。

Born[……]

继续阅读

C++ P48 – STD::VECTOR 的优化

优化Vector之前我们要干些什么?

  1. 知道我们要优化什么(环境);
  2. 知道用什么方式来优化问题。

优化前环境:

一个测试用结构

这个结构,由两个构造器组成, 第一个在被构造后显示“Constructed!”, 而第二个则是接受一个在别处声明过的Vectex结构再被传入Vectex中(Copy), 被Copy后会显示“Copied!".

从运行结果可以看出,在main函数中添加元素调用了3次创建结构和6次复制, 这样的效率是十分不理想的. 这就为我们接下来的优化提供了条件——减少复制次数.

优化

为了减少复制次数, 我们要先了解为什么会出现复制.

push_back

vectexes.push_[......]

继续阅读