考研数据结构复习代码
视嵌
一日一算法,一人一世界。
展开
-
为什么一个字节的补码表示范围是-128~127
转载自:https://blog.csdn.net/ai_yue/article/details/82777806一个ESP8266的小项目https://blog.csdn.net/shitou123xsx/article/details/90550098我们要先区分一下原码、反码和补码的表示规则:0的表示: 原码:有正零和负零之分,[+0]补...转载 2019-09-10 21:04:51 · 2752 阅读 · 0 评论 -
原码、反码、补码知识详细讲解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机...转载 2019-08-28 22:34:09 · 754 阅读 · 0 评论 -
考研复习 排序算法(续)---堆排序 归并排序 基数排序
算法列表 堆排序 归并排序 基数排序 //堆排序void AdjustDown(SortTable &ST,int i,int len){ int j = 0; ST.elem[0] = ST.elem[i]; for ( j= i * 2;j <= len;j *= 2) { if (j <len && ST...原创 2019-08-27 22:17:38 · 209 阅读 · 0 评论 -
考研复习 排序算法 插入排序 折半插入排序 冒泡排序 快速排序 选择排序
算法列表 插入排序 折半插入排序 冒泡排序 快速排序 选择排序 //插入排序void insertSort(SortTable ST){ int i = 0, j = 0; for (i = 2;i <= ST.length; ++i) { if (ST.elem[i] < ST.elem[i-1]) { ...原创 2019-08-26 22:32:12 · 474 阅读 · 0 评论 -
二分查找,折半查找
算法列表 int B_search(SSTable ST, ElemType key) #define ElemType inttypedef struct { ElemType *elem; int length;}SSTable;//二分查找int B_search(SSTable ST, ElemType key){ int low = 0, h...原创 2019-08-13 21:50:58 · 124 阅读 · 0 评论 -
在有序数组中插入元素,使插入后数组仍然有序
一个ESP8266的小项目https://blog.csdn.net/shitou123xsx/article/details/90550098 算法列表 void Insert(ElemType *A, ElemType num, int len) #include <iostream>using namespace std;#de...原创 2019-08-08 19:45:07 · 4611 阅读 · 2 评论 -
考研复习 第四课:数组,广义表知识点
一:数组: 数据结构特点: 结构中的元素本身可以是具有某种结构的数据,但属于同一数据类型 一维数组:可以看成一个线性表 二维数组:可以看成数据元素是一维数组 三维数组:可以看成数据元素是二维数组 数组元素的下标一般具有固定的上界和下界 数组一旦被定义,他的维数和维界就不在改变 数组仅有存取元素和修改元素的操作 数组的顺序表示: 因为...原创 2019-07-27 21:47:46 · 636 阅读 · 0 评论 -
考研复习 树的递归遍历和非递归遍历算法
算法列表 递归算法: 先序遍历 中序遍历 后序遍历 非递归算法 中序遍历 先序遍历 //先序遍历二叉树bool PreOrder(PBitNode B){ if (B != NULL) { printf("%d ", B->da...原创 2019-08-04 23:21:01 · 472 阅读 · 1 评论 -
考研复习 第一课:顺序表王道算法代码(2.2.3节续)
算法列表 从有续顺序表中删除所有值重复的元素 将第一个元素看作非重复的有序表,之后依序判断后面的元素是否和前面非重复的有序表中的最后一个元素相同 相同则舍弃,不同则加入有序表,直至判断到表尾 /* 算法6:从有续顺序表中删除所有值重复的元素 算法思想:将第一个元素看作非重复的有序表,之后依序判断后面的元素是否和前面非重复的有序表中...原创 2019-07-22 22:49:51 · 208 阅读 · 0 评论 -
考研复习 第三课:栈与队列(链栈代码)
算法列表 初始化一个链栈 进栈 出栈 判断栈是否为空 获取栈顶元素 #define ElemType inttypedef struct SqNode { ElemType data; SqNode *next;}SqNode;typedef struct { SqNode *Stack; int count;}SqStack;/* ...原创 2019-07-22 19:59:50 · 170 阅读 · 0 评论 -
考研复习 第三课:栈与队列(顺序栈代码)
算法列表 初始化一个空栈 进栈操作 出栈操作 判断栈是否为空 # define STACK_INIT_SIZE 100# define STACKINCREMENT 10#define ElemType inttypedef struct { ElemType *base; //栈底指针,栈构造前和销毁后为空 ElemType *top; ...原创 2019-07-22 19:32:19 · 148 阅读 · 0 评论 -
考研复习 第一课:顺序表代码
算法列表 顺序表初始化 在顺序表中插入数据 删除顺序表中的数据 合并两个升序顺序表 #include <stdio.h>#include <iostream>#define MAXLENGTH 50#define ElemType inttypedef struct { ElemType* val; int len...原创 2019-07-15 21:42:29 · 138 阅读 · 0 评论 -
考研复习 第二课:链表代码
算法列表 单链表的查找算法:查找第i个结点 遍历链表 单链表的插入算法(尾插法) 单链表的删除算法 单链表的插入算法(头插法) 表尾插入法建立不带头结点的单链表 main()函数验证 #include <stdio.h>#include <iostream>#define ElemType inttypedef st...原创 2019-07-19 20:27:33 · 148 阅读 · 0 评论 -
考研复习 第一课:顺序表王道算法代码(2.2.3节)
算法列表 算法1:从顺序表中删除最小值元素 并用最后一个元素替换 函数返回最小值 算法2:设计一个高效算法,将顺序表L的所有元素逆序 要求: 空间复杂度为O(1) 算法3: 编写一个算法删除顺序表中所有值为x的元素 要求: 时间复杂度O(n) 空间复杂度:O(1) 算法4:删除顺序表中在给定值S到T之间的所有值(S<T) 要求: 如果表为...原创 2019-07-20 23:25:49 · 192 阅读 · 0 评论 -
考研复习 第二课:链表代码(续)
算法列表 两个升序序单链表的合并 仅仅给定链表中一个结点 删除这个节点 /* 两个有序单链表的合并*/void MergeList_L(LinkList &La, LinkList &Lb, LinkList &Lc){ LinkList *pa, *pb,*pc; pa = La.next; pb = Lb.next; pc ...原创 2019-07-21 23:40:50 · 138 阅读 · 0 评论 -
考研复习 第四课:串,KMP字符串匹配算法
算法列表 获取KMP中子串next数组 KMP算法实现实现 这里我先按照自己的理解写出了KMP算法,正在抽时间写自己对KMP求next数组的理解,现在先将代码贴出来。需要注意的一点:在写求next数组函数时发现的一点问题#include <iostream>#include <string.h>void getNextArra...原创 2019-07-30 23:03:50 · 152 阅读 · 0 评论