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