
计算机基础
Steve_Stone
西电er,在读研究僧。
github:
https://github.com/yohstone
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】串(string)的定义与表示
#笔记整理 串(string)(或字符串) 是由零个或多个字符组成的有限序列,一般记为 s=′a1a2…an′s='a_1a_2…a_n's=′a1a2…an′。 串的定长顺序存储表示(定长顺序串) 定长顺序串的存储分配是在编译时完成的。与前面所讲的线性表的顺序存储结构类似, 用一组地址连续的存储单元存储串的字符序列。 #define MAXSTRLEN ...原创 2019-07-08 17:00:52 · 2027 阅读 · 0 评论 -
【计算机网络】TCP的保活机制
#笔记整理 TCP 保活机制 一些情况下,客户端和服务器需要了解什么时候终止进程或者与对方断开连接。应用进程之间没有任何数据交换,但仍然需要通过连接保持一个最小的数据流。TCP 保活机制即为了解决上述两种情况而设计。保活机制是一种在不影响数据流内容的情况下探测对方的方式。 它是由一个保活计时器实现的,当计时器被激发,连接一端将发送一个保活探测(简称保活)报文,另一端接收报文的同时会发送一个ACK作...原创 2019-08-12 14:26:21 · 1033 阅读 · 0 评论 -
【数据结构】查找:动态查找表(B-树,B+树,红黑树)
#笔记整理 多路查找树(multi-way search tree): 其每个结点的孩子树可以多于两个,且每一个结点可以存储多个元素。由于它是查找树,所有元素之间存在某种特定的排序关系。 B-树 也称B树, B-树是一种平衡的多路查找树,是一种组织和维护外存文件系统非常有效的数据结构,常用作文件索引。结点最大的孩子数目称为 B 树的阶。 一棵 m 阶 B-树或者是一棵空树,或者是满足下列要求的 ...原创 2019-08-20 23:07:22 · 872 阅读 · 0 评论 -
【数据结构】查找:动态查找表(二叉排序树/BST/二叉搜索树,平衡二叉树/AVL)
#笔记整理 动态查找表——基于树表的查找法 动态查找表的特点: 表结构本身在查找过程中动态生成,即对于给定值 key,若表中存在关键字等于 key 的记录,则查找成功,否则插入关键字等于 key 的记录。 动态查找表的主要运算 - 创建、销毁 - 查找、插入和删除 - 遍历 二叉排序树(二叉搜素树、二叉查找树)BST (Binary Sort Tree)/(Binary Search Tree)...原创 2019-08-20 22:51:14 · 3353 阅读 · 0 评论 -
【数据结构】查找:基本概念及静态查找表(顺序查找、二分查找、索引查找)
#笔记整理 查找 查找的基本概念 静态查找表——基于线性表的查找法 动态查找表——基于树表的查找法 哈希表——计算式查找法 基本概念 查找表 由同一类型的数据元素(记录)构成的集合。 查找的定义 给定一个值 key,在含有 n 个记录的表中找出关键字等于 key 的记录。若找到,则查找成功,返回该记录的信息或该记录在表中的位置;否则查找失败,返回相关的指示信息。 静态查找表(Static S...原创 2019-08-20 22:37:42 · 4656 阅读 · 0 评论 -
【数据结构】排序:归并排序(2路归并排序算法)详解,递归实现与迭代实现(C++)
#笔记整理 内部排序分类目录: - 插入排序 - 交换排序 - 选择排序 - 归并排序 - 计数排序 归并 基本思路:是将两个或两个以上的有序表合并成一个新的有序表。 2-路归并排序 假设初始序列有 n 个记录,首先把它看成是 n 个长度为 1 的有序子序列 (归并项),先做两两归并,得到 n / 2 个长度为 2 的归并项 (如果 n 为奇数,则最后一个有序子序列的长度为1);再做两两归并,…...原创 2019-07-17 18:09:23 · 7796 阅读 · 0 评论 -
【数据结构】树:哈夫曼树(Huffman Tree,也称哈弗曼、赫夫曼树)、哈夫曼编码解析与实现(c++)
#笔记整理 树的定义参照前文: 二叉树、遍历二叉树与线索二叉树等树的定义与解析、二叉树遍历实现 哈夫曼树(也称赫夫曼树) 相关概念: ① 路径长度 从树中一个结点到另一个结点之间的分支(树枝)构成这两个结点之间的路径, 路径上的分支(树枝)数目称做路径长度。 ② 树的路径长度 从树根到每一结点的路径长度之和(所有结点到根的路径长度的和)。 ③ 结点的权和带权路径长度 给树的每个结点赋予一个具有某...原创 2019-07-19 12:47:23 · 1046 阅读 · 0 评论 -
【数据结构】树:非二叉树(普通树)与森林的遍历
#笔记整理 树的定义参照前文: 二叉树、遍历二叉树与线索二叉树等树的定义与解析、二叉树遍历实现 非二叉树与森林的遍历 树的遍历(两种) 1) 先根遍历 若树非空,则遍历方法为: ①访问根结点。 ②从左到右, 依次先根遍历根结点的每一棵子树。 等同于转换的二叉树进行先序遍历 2)后根遍历 若树非空, 则遍历方法为: ①从左到右, 依次后根遍历根结点的每一棵子树。 ②访问根结点。 等同于转换的二叉...原创 2019-07-19 12:25:07 · 5276 阅读 · 5 评论 -
【数据结构】排序:排序算法的分类及各类排序算法对比
#笔记整理 这几天复习并整理了一下排序算法,发现内容还是挺多的,有些算法和概念很常用也很重要,记录一下。 排序 排序: 将一组杂乱无章的数据按一定的规律顺次排列起来,使之按关键字递增(或递减)有序排列。 排序算法的稳定性(稳定排序,Stable Sort):指当数据中存在2个或2个以上键值相等的元素时,这些元素在排序处理前后顺序不变。 由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将...原创 2019-07-14 23:02:11 · 1509 阅读 · 0 评论 -
【数据结构】排序:选择排序(简单选择排序、堆排序等)详解与实现(C++)
#笔记整理 选择排序 基本思想:每一趟 (第 i 趟,i = 1, …, n-1) 在后面 n-i+1 个待排序记录中选出关键字最小的记录, 作为有序序列的第 i 个记录。 简单选择排序(Simple Selection Sort) 通过 n−in-in−i 次关键字间的比较,从 n−i+1n-i+1n−i+1 个记录中选取关键字最小的记录,并和第iii个记录交换。 算法实现: // 简单选择排...原创 2019-07-14 22:47:45 · 1112 阅读 · 1 评论 -
【数据结构】排序:交换排序(冒泡排序、快速排序)详解与实现(C++)
#笔记整理 交换排序 交换排序就是基于“交换”规则进行排序的方法,其中包括:冒泡排序(Bubble Sort)、快速排序(Quick Sort)。 冒泡排序(Bubble Sort) 冒泡排序又称起泡排序,其过程很简单,两两比较相邻的记录,如果反序则交换,直到没有反序的记录为止。 算法实现: // 冒泡排序法,对容器或数组nums进行排序 void bubbleSort(vector&...原创 2019-07-14 22:36:27 · 3297 阅读 · 0 评论 -
【数据结构】排序:插入排序(直接插入排序、希尔排序、折半插入排序、2-路插入排序等)详解与实现(C++)
#笔记整理 插入排序:(Insertion Sort) 插入排序的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子表中的适当位置,直到全部记录插入完成为止。 共有5种插入排序方法: (1) 直接插入排序; (2) 折半插入排序; (3) 2-路插入排序; (4) 表插入排序; (5) 希尔排序。 (1)直接插入排序(Straight Insertion Sort): 一种...原创 2019-07-14 22:22:51 · 4922 阅读 · 0 评论 -
【计算机网络】OSI参考模型与TCP/IP分层模型对比(体系结构对比)
#笔记整理 协议 简单来说,协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定“。这种约定使得那些由不同厂商的设备、不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。就好比两个人使用不同国家的语言就行对话,是无法相互理解的。因此两台计算机之间必须能够支持相同的协议,并遵循相同协议进行处理,才能实现相互通信。 OSI参考模型 在协议的标准化上,ISO(internati...原创 2019-07-03 23:24:50 · 11230 阅读 · 0 评论 -
【数据结构】树:二叉树、遍历二叉树与线索二叉树等树的定义与解析、二叉树遍历实现(递归、迭代)C++
#笔记整理 今天复习总结了一下数据结构中树相关的知识点。 先记录一些主要的,慢慢补充。 树(tree) 树是n (n>=0)个结点的有限集。 树是以分支关系定义的层次结构,是一类重要的非线性结构。 特性: 在任意一棵非空树中 有且仅有一个特定的称为根(root)的结点; 当 n>1n > 1n>1 时,其余结点可分为m(m>0)m(m&...原创 2019-07-12 20:52:55 · 422 阅读 · 0 评论 -
【数据结构】字符串 模式匹配算法的理解与实现 Brute Force算法(BF算法)与KMP算法 (C与C++分别实现)
串的模式匹配算法 求子串位置的定位函数 Index(S, P, pos) 求子串的定位操作通常称作串的模式匹配(其中子串P称为模式串)。 算法1:朴素模式匹配算法/简单匹配算法(Brute-Force算法,简称BF算法) 从目标主串s=“s1s2…sn”s=“s_1s_2…s_n”s=“s1s2…sn”的第一个字符开始和模式串p=“p1p2…pm”p=“p_1p_2…p_m”p=“p1p2...原创 2019-07-08 17:54:45 · 3970 阅读 · 0 评论 -
【数据结构】查找:哈希表(散列表)——计算式查找法
#笔记整理 哈希表——计算式查找法 定义: 哈希法又称散列法、杂凑法或关键字地址计算法等,相应的表称为哈希表或散列表。 方法的基本思想: 在元素的关键字 Key 和元素的存储位置 p 之间建立一个对应关系 H,使得 p = H(Key),H 称为哈希函数(散列函数),是一个压缩映象。 当需要查找关键字为 key 的元素时,利用哈希函数计算出该元素的存储位置 p = H(key),从而达到按关键字...原创 2019-08-21 14:31:09 · 1663 阅读 · 0 评论