上一篇 树和二叉树的概念和定义:https://www.cnblogs.com/prinzeugen/p/12805870.html 二叉树的存储结构 二叉树的顺序存储结构 二叉树的顺序结构就是将所有的结点按照一定的次序,顺序存储在一维数组当中,并且结点的存储位置,也就是数组的下标要能够体现出节点之 ...
分类:
编程语言 时间:
2020-05-15 00:29:07
阅读次数:
76
数组实现循环双端队列 创建3个文件:doubleEndedQueueArray.h、doubleEndedQueueArray.c、doubleEndedQueueArrayTest.c doubleEndedQueueArray.h c include include include includ ...
分类:
其他好文 时间:
2020-05-13 09:23:35
阅读次数:
50
算法简介 二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将 ...
分类:
编程语言 时间:
2020-05-11 23:43:48
阅读次数:
96
数据结构的三要素 1.逻辑结构 数据元素之间的逻辑关系。 分为线性关系与非线性关系,线性关系:线性表、栈、队列;非线性关系:树、图、集合 2.物理结构 顺序存储(逻辑上相邻的元素存储在物理结构上相邻的存储单元里) 链接存储 索引存储 散列存储 3.数据的运算 算法时间复杂度 一个算法随着数据或者说输 ...
分类:
其他好文 时间:
2020-05-08 23:00:56
阅读次数:
125
一、内容小结 (一) 串 定义 空串、子串、主串等概念 顺序存储——堆 链式存储 (二) 串的模式匹配算法 BF算法 KMP算法 (三) 数组 顺序存储 特殊矩阵的压缩存储 (四) 广义表 定义 取表头和取表尾两个运算 头尾链表、拓展线性链表的存储结构 (五)对string类型进一步了解 二、心得体 ...
分类:
其他好文 时间:
2020-05-05 23:49:07
阅读次数:
100
内容小结: 第四章学习了串、数组、广义表等,其中包括: 1.串: ①串的定义:注意空串(Ø)和空格串(“ ”)的区别。 ②串的存储结构:分为顺序存储和链式存储,其中: i. 顺序存储又分为定长顺序存储和堆式顺序存储,前者为静态存储,相当于一维数组,而后者为动态存储; ii. 链式存储:每个结点可以存 ...
分类:
其他好文 时间:
2020-05-05 20:07:59
阅读次数:
63
一、本章内容小结 本章主要学习了串、数组和广义表。 1.串 定义: 串是内容受限的线性表,限定表中元素为字符。 串的两种存储结构: 顺序存储结构、链式存储结构。 串的模式匹配: 有两种常见算法: (1)BF算法,暴力依次比较法,时间复杂度为O(m*n)。 (2)KMP算法,找出当前匹配串中头尾最长的 ...
分类:
其他好文 时间:
2020-05-05 18:17:44
阅读次数:
73
你对本章内容的小结 1)三种数据结构:串,数组,广义表2)串是内容受限的线性表,它限定表中的元素为字符。串有两种基本存储结构:顺序存储和链式存储。串的常用算法是模式匹配算法;3)多维数组可以看成是线性表的推广,其特点是结构中的元素本身可以是具有某种结构的数据,但属于同一种数据类型。数组一般采用顺序存 ...
分类:
其他好文 时间:
2020-05-05 12:43:25
阅读次数:
56
一、本章学习小结:第四章主要学习了串、数组和广义表,与以前学习的区别在于,本章将它们视为线性表。 1)串是内容受限的线性表,考虑到存储效率和算法方便性,一般采用顺序存储结构;考虑到串变量相差较大,可采用动态分配的方法;为了便于操作,可增设尾指针。 串的主要应用场景是模式匹配,其中有BF算法和KMP算 ...
分类:
其他好文 时间:
2020-05-04 12:59:26
阅读次数:
68
栈 定义:栈是一个先进后出的线性表,要求只在表尾进行删除和插入操作 注:对于栈来说,表尾成为栈的栈顶(top),相应的表头称为栈低(bottom)。 因为栈的本质是线性表,所以栈也分为顺序存储结构和链式存储结构;(一般用顺序存储实现) 栈的顺序存储: 1 #include <stdio.h> 2 # ...
分类:
其他好文 时间:
2020-05-04 01:08:58
阅读次数:
75