
数据结构
文章平均质量分 67
GangStudyIT
搬砖搬砖。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构中静态顺序表的实现和增删查改。。。
静态顺序表是把大小已经分配好,顺序表是利用数组,实现增删查改。首先我们要声明一个结构体,定义一个数组,它的总大小 ,还有一个用来计数它实际的大小。我们来看代码。先看头文件的声明:#pragma once#include#define sequence_table_max_length 100#define TYPECHAR char#define SHOWTYPE "%c"原创 2017-12-08 15:34:56 · 473 阅读 · 0 评论 -
二叉树实现及相关操作知识梳理
树型结构前言树型结构在生活中是非常常见的一种结构,应用范围很广,就用一个简单的例子来说。计算机中的文件目录就是一个树型结构,一般创建一个文件,如果文件中没有文件那么就相当于一个空树,如果里面有文件,就相当于这个文件的子树,以此类推,就形成了树型结构的文件目录。 在学习中我们主要学习二叉树的一些特性,把树细化学习。二叉树的概念二叉树是结点的有限集合,该集合或者为空,或者...原创 2018-04-20 17:44:57 · 456 阅读 · 1 评论 -
海量数据处理
海量数据处理我们这里的海量数据处理主要是通过几个实际问题,应用数据结构,来熟悉哈希数据结构,位图数据结构,和布隆过滤器。如果哈希数据结构,位图数据结构和布隆过滤器请点击[https://github.com/jacksparrowwang/cg19.github.com/tree/master/Data%20Structure](github)海量数据的处理问题,遇到的问题一般有文件过...原创 2018-03-19 16:56:59 · 1244 阅读 · 0 评论 -
数据结构中队列的实现(基于顺序表循环队列)
在学习数据结构中,队列也是一个重要的数据结构,我们今天来用基于顺序表的队列(Queue),在基于顺序表队列如果是不循环的顺序表,则在出队列时,时间复杂度是O(n),所以我们用循环队列来实现,怎么解释基于循环顺序表的队列呢?我们上图: 上图是在不循环顺序表中出队。这样不难看出时间复杂度不是很好。所以我们来顺序循环队列,把顺序表让它循环利用。看图上图就是顺序表循环队列,a就是队首,d就是队尾,...原创 2018-02-25 20:14:19 · 1613 阅读 · 0 评论 -
对栈的实现(顺序栈和链式栈)C语言
栈的实现两种方法实现:顺序栈 :基于静态顺序表链式栈 :基于链表顺序栈函数的结构体和声明基于顺序表的栈,也就是用数组的增删查改我们看结构体和声明typedef char SeqType;typedef struct SeqStack{ size_t size; SeqType data[MAXREPOSITORY];}SeqStack;...原创 2018-03-17 18:00:12 · 654 阅读 · 0 评论 -
对链式队列的实现(C语言)
对链式队列的实现实现的具体过程:结构体定义和函数声明队列的初始化队列的尾插入取队首元素删除队首元素判断队列是否为空求队列元素的个数队列的销毁单元测试代码结构体定义内容和函数声明链式队列需要定义两个指针分别来表示队头和队尾,我们用head表示头指针tail表示尾指针,这是队列的结构体,而队列的节点也是一个结构体,其实和链表的结构体特别想象,一个数据data和一...原创 2018-03-17 17:00:16 · 1289 阅读 · 0 评论 -
动态顺序表的实现和增删操作。
对与线性表中的顺序表,有静态顺序表,和动态顺序表。关于静态顺序表的实现以及一些操作,在本博客内有相关内容,那么就不过多介绍,动态顺序表基本与静态顺序表的一些操作一样,比如,查找,删除等,不一样的就是增加,销毁,最重要的静态顺序表是建立在栈上的,而动态顺序表是建立在堆上。 那么我们就在静态的基础上与动态结合加以练习,主要体现在增加,销毁,和结构体建立上不同。那么我们来看代码。先是头文件及其声明:#...原创 2018-02-08 15:36:31 · 529 阅读 · 0 评论 -
带头带环双向链表的实现及其相关操作。。
在前面博客中我们讲到关于线性表中的单链表,我们实现了不带头不带环的单项链表,在链表中不带头不带环的单链表是相对比其他链表要麻烦,且应用相对较少。那么今天我们来实现带头带环的双向链表,带头带环双向链表相应用比较多,应为它比较简介,相关的操作相对简单。 那么我们来看一下声明:#pragma once#include<stdio.h>#include<stdlib....原创 2018-02-10 18:55:23 · 224 阅读 · 0 评论 -
在学习中对于链表的实现。链表的增删查改等操作(C语言版)
大家都不陌生,一个程序员,语言是基础,数据结构是核心之一,因此,在学习过程中必须反复练习,那么今天我们来看看对与数据结构中,链表的实现。首先,我们要明确,在线性表中有两类,一是顺序表,分为动态顺序表和静态顺序表,我们前面有介绍静态,二是链表,链表又分为八种,即:1.不带头不带环单向链表。(学习)2.带头不带环单向链表。3.不带头带环单向链表。4.带头带环单向链表。5原创 2018-01-25 14:58:25 · 348 阅读 · 0 评论 -
数据结构中的堆的实现和堆排序
堆的实现堆的本质是一二叉树,并且是一颗完全二叉树。堆分为大堆和小堆,大堆就是在堆顶的元素的值是这个完全二叉树中的最大值,小堆刚好相反,是最小值。在树这个数据结构定义的时候是递归定义的所以也就满足,一个树中子数的更节点是最大或者最小(取决与建立大堆还是小堆)。堆的建立堆的建立过程是一个进行比较的过程,也就是说,每次插入一个元素,就需要对堆进行调整,怎么调整?当然在插入的时候,我们...原创 2018-06-01 23:41:25 · 864 阅读 · 0 评论