1. Turing machine:图灵机

    理论上可以计算任何东西

  2. CPU(Center Process Unit):中央处理器

    是现代电脑的“大脑”,其中包含数十亿细小开关的硅片,即晶体管

  3. Transistors:晶体管

    每个开关代表一个“位”

  4. Bit:位

    是电脑能够识别的最小信息

  5. Byte:字节

    每 8 个位一组,称为一个字节

  6. ASCII character encoding:美国信息交换标准代码字符编码

    键盘输入的字符按照 ASCII 的规则转换成一串特定的二进制编码

  7. Binary:二进制

    一种特殊的计数方式,由 0 和 1 构成,遵循“逢二进位”的规则

  8. Hexadecimal:十六进制

    由 0~9 以及 a~f 表示一个组合,称为“半字节”

  9. Nibble:半字节

  10. Machine code:机器码

    将编程语言转为及其能够识别的语言,即 0 和 1 构成的字符串,从而告诉机器“怎么做”,但并不保存“做的结果”

  11. RAM(Random Access Memory):随机存储器

    机器处理指令的空间

  12. Memory address:内存地址

    标记 RAM,CPU 通过内存地址来读写数据

  13. I/O(Input/Output):输入输出

    处理输入输出

  14. Kernel:内核

    应用程序通过内核控制电脑硬件

  15. Shell:壳

    包裹着内核,是与计算机核心交流的接口

  16. CLI(Command Line Interface):命令行界面

    在此通过 Shell 与内核进行交流

  17. SSH(Secure Shell Protocol):安全壳协议

    通过该协议即可与本地或者远程计算机进行交流

  18. Mainframe:主机

    bulk data processing computer:批数据处理计算机

  19. Programming language:编程语言

    帮助人类与机器进行沟通的语言,如 C/C++ 语言、Java 语言、Python 语言等

  20. Abstraction principle:抽象原理

    编程语言用抽象的原理,逐步方便人类与机器交流

  21. Interpreter:解释器

    逐行执行编辑好的代码

  22. Compiler:编译器

    编译器将所有代码全部编译后由 CPU 逐步执行

  23. Executable:可执行文件

    .exe 文件

  24. Data types:数据类型

    编程语言中描述数据的“工具”,如整型、浮点型、字符串型等

  25. Variable:变量

    数据的命名,在使用数据前,需要声明一个变量来表示该数据

  26. Dynamically typed:动态类型

    Python 是一种动态类型的语言,声明变量时无需指定数据类型

    number = 100
  27. Statically typed:静态类型

    C 语言是一种静态类型的语言,声明变量时必须指定数据类型

    int number = 100;
  28. Pointer:指针

    是一个特殊的变量,其值为另一个变量(可以是指针)的内存地址,可以通过指针对底层内存进行控制

  29. Garbage collection:垃圾回收器

    实现了垃圾回收的机制,程序中不再被引用的对象称为“垃圾”,需要从内存中清除实现内存的释放,即“垃圾回收”

  30. int(Integer):整型

    表示整数的数据类型,可以表示正数(无符号)、负数(有符号)

  31. Signed:符号

    辅助 int 区分值的正负性

  32. Floating point:浮点

    表示浮动的小数点

  33. double:双精度浮点数

    相比 float 浮点数数据类型具有更高的精度,可以提供更大范围的精度

  34. char:字符

    表示字符的数据类型

  35. string:字符串

    表示字符串的数据类型

  36. Big endian:大 字节存储次序

    先到先进

  37. Little endian:小 字节存储次序

    先到后进

  38. Data structures:数据结构

    数据的存储关系

  39. Array:数组

    含有一列数据的数据结构,从 0 开始索引

  40. Linked list:链表

    含有一列数据的数据结构,每个数据仅知道自己前后的数据(通过指针实现),并不清楚自己的次序

  41. Stack:栈

    链表的一种,遵循“后进先出”的原则

  42. Queue:队列

    链表的一种,遵循“先进先出”的原则

  43. Hash:哈希

    又称为 map、dictionary,类似数组,但使用独一无二的标签或关键字进行索引(key:键)

  44. Tree:树

    像树形的数据结构,按层级将各个数据节点组织起来,类比家族树

    graph TB
    太爷爷-->爷爷 & 叔公
    爷爷-->伯父 & 爸爸 & 叔叔
    爸爸-->我
  45. Graph:图

    多个数据节点无序联系的数据结构,类比社交网络

    graph LR
    张三-->李四
    -->王五
    -->张三
    -->赵六
    -->李四
  46. node:节点

    edge:边

    节点是图中的各个数据,边是任意两个节点之间的存在的联系

  47. Algorithm:算法

    用来解决问题的方法

  48. Function:函数

    可以完成接收输入、处理输入、返回输出的代码块

  49. Return:返回

  50. Arguments:参数

    分为实参和形参,在原始主程序中的变量为实参,在函数中临时使用的变量为形参

  51. Operators:操作符

    如大于号、小于号、等于号等

  52. Boolean:布尔数据类型

    其值分为 true 和 false

  53. Expression:表达式

    对于代码产生值的代码可称为表达式

  54. Statement:语句

    未产生任何值而是完成操作的代码称为语句

  55. Conditional logic:条件逻辑

    if(condition) {
    statement;
    } else {
    statement;
    }
  56. While loop:while 循环

    while(condition) {
    statement;
    }
  57. Iterable:迭代器

  58. For loop:for 循环

    for(condition 1; condition 2; condition 3) {
    statement;
    }
  59. void:空函数

    没有返回值

  60. Recursion:递归

    函数调用自己,如同镜中镜

  61. Call stack:调用栈

  62. Stack overflow:栈溢出

    存入的内容超出栈的空间导致从栈中溢出

  63. Base condition:基本条件

    控制 for 循环的结束条件

  64. Big-O notation:大 O 表示法

    用于估算算法在大规模应用时的表现

  65. Time complexity:时间复杂度

    算法执行速度

  66. Space complexity:空间复杂度

    算法使用空间

  67. Brute force:暴力法

    一种算法,强行暴力尝试所有可能,直至找到答案

  68. Divide & Conquer:分治法

    一种算法,将问题分成若干部分,分别解决,最终解决大问题,如二分查找

  69. Dynamic programming:动态规划

    一种算法,将问题分成若干部分,每次处理的结果会存储起来,采用 memonization 技术

  70. Memonization:记忆化

  71. Greedy:贪心算法

    一种算法,选择短期内最有益的选择,而不考虑整体问题的最优解

  72. Dijkstra's shortest path:Dijkstra 最短路径

    一种贪心算法

  73. Backtracking:回溯算法

    一种算法,采取逐步的方法,查看所有可能的选项

  74. declarative:声明式编程

    向计算机说明需求,而不过多指定具体步骤

    举例,使用 Haskell 编写 Fibonacci 算法

    fib :: Integer -> Integer
    fib 0 = 0
    fib 1 = 1
    fib n = fib (n-1) + fib (n-2)
  75. Functional languages:函数式语言

  76. Imperative:命令式编程

    向计算机详细解释每一个步骤

    举例,使用 C 编写 Fibonacci 算法

    int fib(int n) {
    int a = 0, b = 1, c, i;
    if(n == 0) {
    return a;
    }
    for(i = 2; i <=n; i++) {
    c = a + b;
    a = b;
    b = c;
    }
    return b;
    }
  77. Procedural languages:过程式语言

  78. Multiparadigm languages:多范式语言

    如 Python、JavaScript、Kotlin

  79. Object-oriented:面向对象编程

    使用类为代码中的数据或对象编程

  80. Class:类

    对象的属性、方法的模板

    class Person {
    int age = 20;
    void getAge() {
    cout << this.age;
    }
    }
  81. Property:属性

    int age = 20;
  82. Method:方法

    void getAge() {
    cout << this.age;
    }
  83. Inheritance:继承

    类通过继承来共享行为,子类可以在保留父类行为的基础上进行扩展和重写

    class Father:
    pass class Son(Father):
    pass
  84. Design patterns:设计模式

  85. Instantiate:实例化

    类在使用时需要实例成对象

    class Person {}
    
    int main() {
    Person Tom = new Person();
    }
  86. Heap:堆

    一种独立的内存区域,用于长时间存储数据,以方便多次调用。堆的大小可以根据应用的使用情况进行自由扩展和收缩

  87. Reference:引用

    堆允许通过引用在不同的变量之间传递对象

    const person = {
    age: 20,
    } const person1 = person
    const person2 = person
  88. Threads:线程

    线程的作用是将实际的 CPU 核心分割成虚拟核心,使其能够同时运行多段代码

  89. Parallelism:并行处理

    可以编写能够在两个不同线程上同时执行的代码

  90. Concurrency:协程

    可以暂停或延迟代码的正常执行,以便在单个线程上同时处理多个任务

  91. Bare metal:裸机

  92. Virtual machine:虚拟机

    模拟硬件的软件

  93. IP address:IP 地址

    每台机器都有一个独特的 IP 地址,以在网络进行标识

  94. URL(Uniform Resource Locator):统一资源定位器

    IP 地址会被映射成 URL

  95. DNS(Domain Name System):域名系统

    IP 地址映射成的 URL 会在域名系统中进行注册

  96. TCP(Transmission Control Protocol):传输控制协议

    两台计算机通过 TCP 握手建立连接

  97. Packets:包

    建立连接的计算机之间可以交换数据包来传递消息

  98. SSL(Secure Sockets Layer):安全套接层

    加密和解密网络上的消息

  99. HTTP(HyperText Transmission Protocol):超文本传输协议

    两台计算机可以通过 HTTP 安全地共享数据

  100. API(Application Programming Interface):程序编程接口

    一种标准化的数据请求方式,最常见的架构是 REST

  101. Printers:打印机

-End-

CS101的更多相关文章

  1. Intro to Computer Science Class Online (CS101) - Udacity

    Intro to Computer Science Class Online (CS101) - Udacity Building a Search Engine

  2. 转一下关于struct字对齐的原因

    作者:張道遠链接:https://www.zhihu.com/question/27862634/answer/38506197来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  3. c++怎么将一个类,拆分出接口类,和实现类

    还拿上一遍中定义的GradeBook类来实现: #include <iostream> using std::cout; using std::endl; #include <str ...

  4. c++l类

    c++类和C#中定义类的方法异同之处: 1. 相同处: 1.1.都需要使用 class标识: 1.2.都包含有成员:函数,属性: 1.3.都有private public protect 标识的成员 ...

  5. 七行jquery代码实现图片渐变切换【兼容ie6+、 Chrome、 Firefox】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 无责任共享 Coursera、Udacity 等课程视频

    本文转载自网络,原作者不详. (本文是用 markdown 写的,访问 https://www.zybuluo.com/illuz/note/71868 获得更佳体验) 程序语言 interactiv ...

  7. Nitrous.IO融资665万美元 帮助开发者省去配置调试等工作-CSDN.NET

    Intro to Computer Science Class Online (CS101) - Udacity Building a Search Engine Nitrous.IO融资665万美元 ...

  8. Rabin-Karp【转载】

    问题描述: Rabin-Karp的预处理时间是O(m),匹配时间O( ( n - m + 1 ) m )既然与朴素算法的匹配时间一样,而且还多了一些预处理时间,那为什么我们还要学习这个算法呢?虽然Ra ...

  9. 基于 MySQL 的数据库实践(准备工作)

    背景 本学期在北京大学选修了<数据库概论>的实验班课程,由于 SQL 语法并不是特别理论的内容,因此课上暂时也没有特别展开.出于探索数据库领域的兴趣,使用国内普遍使用的数据库软件 MySQ ...

  10. 基于 MySQL 的数据库实践(自然连接)

    在基本查询一节的示例中,我们有从 instructor 和 teaches 表组合信息,匹配条件是 instructor.ID 等于 teaches.ID 的查询,ID 属性是两个表中具有相同名称的所 ...

随机推荐

  1. Java ----多线程 案例

    1 package bytezero.threadtest2; 2 3 /** 4 * 银行有一个账户 5 * 有两个储户分别向同一个账户存 3000元,每次存1000,存三次,每次存完打印账户余额 ...

  2. Java 演示线程的死锁问题

    1 package bytezero.deadlock; 2 3 /** 4 * 演示线程的死锁问题: 5 * 6 * 1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃 7 ...

  3. Codeforces Round 787 (Div. 3)D. Vertical Paths

    题目链接 题意:给定一棵树,将这棵树划分成几天互不相交的链,要求最小化链的数量 思路:每个叶子节点一定在一条链中,所以链的数量就是叶子节点的数量,从叶子节点往上跳直到根节点,边跳边标记,路径上所有点都 ...

  4. “田由甲” - Kafka重复消费线上问题暴雷

    Kafka作为一款高性能.分布式的消息队列系统,在大数据领域被广泛应用.然而,在使用Kafka时,重复消费问题是一个常见的挑战,可能会对系统的数据一致性和业务逻辑造成影响.我知道Kafka这个名词时还 ...

  5. 软件发布时 生成发布日志文件 单点登录 getGitInfo.bat

    需求 每次发包的时候,前端是3个包,如果后期出现问题,不好回查 所以把当前项目的git信息记录下来 以便回查 第一次手动写了下,发现比较麻烦,所以写个脚本,每次发布的时候 运行下即可 上代码 软件发布 ...

  6. obs 录制教程 手机录屏用 向日葵 手机投屏 能用有线用有线的连接

    obs 录制教程 手机录屏用 向日葵 手机投屏 稍微有点卡 华为手机有个投屏 笔记本不支持这个 miracast 淘宝有卖 投屏设备的,搜 miracast 100多米 免费的就用向日葵就得了. 最新 ...

  7. vetur volar 是否可以共用,vue2 vue3项目 如何同时开发?

    vetur volar 是否可以共用,vue2 vue3项目 如何同时开发? 先提问 以后再找答案 20220704 补答 vetur volar 不要一起装 vscode环境

  8. Dreamweaver基础教程:学习HTML

    目录 HTML简介 HTML实例 HTML 标签 HTML元素 HTML 属性 HTML网页结构 <!DOCTYPE> 声明 HTML 基础 HTML 标题 HTML 段落 HTML 链接 ...

  9. 基于python的opus编解码实力解析

    一 opus   pyogg是一个非常不错的库,用这个做音频的编码和解码非常方便.   二 源码解析   import wave from pyogg import OpusEncoder from ...

  10. auto推导类型注意

    auto推导类型忽略顶层const,不忽略底层const. 顶层const:指针或引用本身是const不可变,也就是指针指向的内存地址不可变,但指向的内存内容可变. 底层const:指针指向的内存地址 ...