数据结构与算法
以数据结构与算法最基础和最核心的知识点的积累为目的,一步一个脚印。每一次的优秀的总结,都会使我更加靠近我的最终的梦乡
A litt hu
莫问前程
展开
-
用队列写自动查找迷宫路径
自动查找迷宫路径 #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 6 typedef struct{ int i,j; int pre; }Box; typedef struct{ Box data[N*N]; int rear,front; }SqQueue; int...原创 2020-04-01 09:07:40 · 247 阅读 · 0 评论 -
数据结构与算法基础知识(详解)
一. 数据结构与算法概述: 1.定义: 我们如何把现有的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,并在此基础上为实现某些功能(查找特定元素,删除某个元素,对元素排序)为此进行的操作,叫做算法 . 2.衡量算法的标准: 1.时间复杂度:程序执行次数,非执行时间; 2.空间复杂度:算法执行过程中大概占用的最大内存; 3.可读性; 4.健壮性(容错性) 二.指针 ...原创 2020-03-23 00:31:05 · 607 阅读 · 0 评论 -
线性表之单链表基础
指针带头结点: 点头结点的单链表所具有的优点: 1.第一个结点的操作和表中其它节点的操作相一致,无需进行特殊处理; 2.无论链表是否为空,都有一个头节点,因此空表和非空表的处理也就统一了。 ...原创 2020-03-24 10:27:14 · 243 阅读 · 1 评论 -
数据结构之栈(老版)
数据结构之栈 1.定义: 我们知道内存可以分为静态内存和动态内存,静态内存在栈中分配,动态内存在堆中分配。分配内存的方式不同。 一种可以实现 “先进后出” 的物理结构(存储结构),栈类似于一个仅一端封口的容器。 2.分类: 1. 动态栈(必须熟练掌握) 2. 静态栈(不作重点) 3.算法: 进栈 出栈 由于时间原因,这里只对动态栈的原理及操作进行讲解。 动态栈的本质其实就是操作受...原创 2020-03-23 18:45:06 · 140 阅读 · 0 评论 -
线性表的知识总结
线性表 这里先放一张我们学习数据结构与算法的大概框架,可以清晰的看到我们在学习数据结构与算法中的线性表这个模块时的大致思路,如有错误,可以下面评论.????(逻辑结构和存储结构呈映射关系). 线性表的基本概念: 1.定义:线性表是一个具有相同特性的数据元素的有限序列。 2.线性表所含元素个数即为线性表长度, 3.线性表功能: 存放数据----容器; 线性表的顺序存储结构: 顺序...原创 2020-03-25 17:57:30 · 272 阅读 · 0 评论 -
线性表之顺序存储结构(顺序表简述)
顺序表的概念 首先,顺序表是以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素。采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。 2. 顺序表的定义 按逻辑位序计算长度;(逻辑位序和物理位序相差1) typedef struct{ int data[MaxSize]; int len...原创 2020-03-25 19:56:20 · 2532 阅读 · 0 评论 -
线性表之栈(栈的应用)
栈的定义 1.栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。 2.按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。 3.允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。 4.插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为先进后出表。 ...原创 2020-03-26 15:48:54 · 394 阅读 · 0 评论 -
线性表之队列(单向)
队列的定义 1.队列和栈一样,是一种操作受限制的线性表。 2.只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头。 3.队列中没有元素时,称为空队列。 4.在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。 顺序队列 循环队列 ...原创 2020-03-28 22:27:25 · 401 阅读 · 0 评论 -
线性表之队列(循环)
队列的定义 1.队列和栈一样,是一种操作受限制的线性表。 2.只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头。 3.队列中没有元素时,称为空队列。 4.在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。 4.元素进队,rear自增1;元素出队,front增1。front指向当前队中队头元素的前一...原创 2020-03-30 21:09:27 · 288 阅读 · 0 评论