数据结构
文章平均质量分 62
Jack-Curry
数据挖掘 机器学习 人工智能 机器人
展开
-
秋招总结------C++面试题总结一
1. 引用和指针的区别指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:引用的值不能为NULL) 有多级指针,但是没有多级引用,只能有一级引用。 指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1) sizeof 引用得到的是所...原创 2020-03-07 18:32:28 · 360 阅读 · 0 评论 -
七大查找算法
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。树表查找和哈希查找会在后续的博文中进行详细介绍。 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于...转载 2018-08-17 16:07:44 · 177 阅读 · 0 评论 -
数据结构------二叉树查找
1./*递归查找j二叉排序树T 中是否存在key *//*指针f 指向T的双亲,其初始调用值为NULL*//*若查找成功, 则指针p 指向该数据元素节点,并返回TRUE *//* 否则指针p 指向查找路径上访问的最后一个节点.并返回FALSE */status searchBST(BiTree T, int key, BiTree f, BiTree &p){...原创 2018-08-17 12:04:34 · 150 阅读 · 0 评论 -
数据结构------非比较类---排序
1.桶排序: 非比较类排序 基本思想: 若带排序的值在 一个有限的范围内,可以设计有限个桶,待排序的值装入对应的桶,桶号就是待排序的值,顺序输出各桶的值。 复杂度与辅助空间:最优时间复杂度:O(N),极限情况下每个桶只有一个数据时 平均时间复杂度:O(N+C),C为桶内排序所花费的时间 所需辅助空间:O(M),M为所开数组大小#include&...原创 2018-08-19 11:10:44 · 158 阅读 · 0 评论 -
数据结构------顺序查找
1.查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 查找算法分类: 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。 2)无序查找和有序查找。 无序查找:被查找数列有序无序均可; 有序查找:被查找数列必须为有序数列。2.平均查找长度(Averag...原创 2018-08-17 10:42:26 · 1183 阅读 · 0 评论 -
数据结构------比较类---排序
一.排序的定义:代码实现:1.冒泡排序://冒泡排序:void BubbleSort(SqList &L){ int i, j; for (i = 1; i < L->length; i++) { for (j = L -> length - 1; j > i; j--) { if (L->r[j] >...原创 2018-08-18 11:49:56 · 426 阅读 · 0 评论 -
队列------顺序存储实现
1.队列的定义: 队列( queue ) 是只允许在一端进行插入操作,而在另-端进行删除操作的线性表。 队列是一种先进先出( First 10 First Out) 的线性表,简称FIFO 。允许插入的一端称为队尾,允许删除的一端称为队头。循环队列:2.代码的实现:队列的抽象://定义队列抽象数据typedef ...原创 2018-08-08 17:23:08 · 251 阅读 · 0 评论 -
栈------链式存储
1.2.代码实现:节点的定义://定义链栈的头部typedef int SElemType;typedef struct StackNode{ SElemType data; struct StackNode *next;}StackNode,*LinkStackPtr;typedef struct LinkStack{ LinkStackPtr top;...原创 2018-08-08 12:03:44 · 194 阅读 · 0 评论 -
数据结构简介
数据结构的概念:数据: 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素: 是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。 数据项:一个数据元素可以自若干个数据项组成。数据项是数据不可分割的最小单位。 数据对象:是性质相同的数据元素的集合,是数据的子集。数据结构:是相互之间存在-种或多种特定关系的数据元素的集和...翻译 2018-08-03 16:24:17 · 158 阅读 · 0 评论 -
数据结构-------树 非递归&&广度优先和深度优先遍历
1.前序遍历:视屏:https://www.bilibili.com/video/av15550091?from=search&seid=17557964195432801211//前序遍历void PreOrder(Binode root){ InitStack(S); //建立空栈 while(root!=NULL || !StackEMpty(S)) //栈...原创 2018-08-12 16:46:00 · 1013 阅读 · 0 评论 -
数据结构------树
1.树的定义:1.2结点的分类:1.3结点间的关系:1.4树的其他概念: 2.二叉树: 2.1特点:#define _CRT_SECURE_NO_DEPRECATE#include<iostream>#include...原创 2018-08-12 14:40:05 · 158 阅读 · 0 评论 -
数据结构------串
1.串的定义:朴素模式匹配:#include<iostream>#include<stdio.h>using namespace std;#define MAXSTRLEN 50typedef unsigned char SString[MAXSTRLEN + 1];//0号单元存放串的长度//返回子串T在主串S中第pos个字符之后的位置。若不存...原创 2018-08-11 11:55:09 · 240 阅读 · 0 评论 -
栈------顺序存储
栈:代码实现:#define _CRT_SECURE_NO_DEPRECATE#include<iostream>#include<stdio.h>using namespace std;//栈的结构定义#define MAXSIZE 100typedef int SElemType;typedef struct SqStack{ ...原创 2018-08-05 17:26:09 · 195 阅读 · 0 评论 -
队列------链式存储
1.数据抽象:typedef int QElemType;typedef struct QNode //节点结构{ QElemType data; struct QNode *next;}QNode,*QueuePtr;typedef struct{ QueuePtr front, rear; //队头 队尾}LinkQueue; 入队:...原创 2018-08-09 11:18:55 · 214 阅读 · 0 评论 -
线性表------链表
1.定义:2.代码实现://链表存储#define NULL 0typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;创建单链表://创建线性表,使用尾插法void createList(LinkList &am...原创 2018-08-05 15:36:49 · 184 阅读 · 0 评论 -
线性表------顺序存储
1.线性表的定义: 0个或多个数据元素的有限序列。 元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。2.线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。 线性包的顺序存储代码: 1.线性表的基本定义:#define MAXSIZE 20typedef in ElemType;...原创 2018-08-04 10:38:59 · 184 阅读 · 1 评论 -
算法
举一个简单的例子: 如何求解1+2+3+....+101 第一种解法: 第二种解法: 结论显然:第二种方法计算快的多,这就是所谓的算法。=======================================================================================算法: 是解决特定问题求解步'的描述,在计算机中表现为指令的有限序列,并...翻译 2018-08-03 16:46:58 · 178 阅读 · 1 评论