自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 数据结构:堆的基本操作 及 可以选择大小堆的优化堆

堆是可以理解为特殊的数据结构,每个结点都有一个值。是指二叉堆。 堆的特点是根节点的值最小(或最大),且根结点的两个子树也是一个堆 堆就是用数组实现的二叉树,所有它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置 堆分为大根堆,小根堆,大根堆就是树的根结点值最大,小根堆就是树的根结点值最小。 Heap.h #pragma once #include<...

2018-05-31 17:00:02 477

原创 二叉树及二叉树的基本操作(递归与非递归)

树是由一个或多个结点组成的有限集合,其中:⒈必有一个特定的称为根(ROOT)的结点;⒉剩下的结点被分成n&gt;=0个互不相交的集合T1、T2、......Tn,而且, 这些集合的每一个又都是树。树T1、T2、......Tn被称作根的子树(Subtree)。树的递归定义如下:(1)至少有一个结点(称为根)(2)其它是互不相交的子树1.树的度——也即是宽度,简单地说,就是结点的分支数。以组成该树各...

2018-05-22 17:33:03 491

原创 数据结构:(两种方式)一个数组实现两个栈(共享栈)

奇偶栈!stack.h#pragma once #include&lt;stdio.h&gt; #include&lt;assert.h&gt; #include&lt;stdlib.h&gt; #define MAX_SIZE 10 typedef int DataType; typedef struct stack { DataType _arr[MAX_SIZE]; int _to...

2018-05-18 18:12:06 689

原创 1使用两个栈实现一个队列 2 使用两个队列实现一个栈 3 判断入栈顺序的合法性

使用两个栈实现一个队列:如图所示数据入栈,队列是队尾进数据,队头删数据,而在栈中,我们无法在对头删除数据,因此,需要把S1里的n-1个数据放到S2中,然后删除S1中的数据,在将S2中的数据放回到S1中。 stack.c#include"stack.h" void stackinit(stack *s) { assert(s); s-&gt;_size = 0; } void stackpus...

2018-05-16 17:54:05 270

原创 两种方式实现一个栈,要求实现Push(栈)、Pop(入栈)、Min(返回最小值)的时间复杂度为O(1)

实现一个栈,要求实现Push(栈)、Pop(入栈)、Min(返回最小值)的时间复杂度为O(1) 1:    如图,入栈时每次入栈两个元素。即入栈的数据与当前的最小值,将两个元素封装为一个结构体,返回时直接返回结构体中的最小值min,便可实现返回最小值的时间复杂度为O(1); stack.h #pragma once #include&lt;stdio.h&gt; #includ...

2018-05-15 00:27:32 316

原创 数据结构:队列的顺序表与链表的两种C语言实现

队列的基本概念   队列 (Queue) :是一种先进先出 (First In First Out ,简称 FIFO) 的线性表。只允许在表的一端进行插入,而在另一端进行删除。   队首 (front) :允许进行删除的一端称为队首。   队尾 (rear) :允许进行插入的一端称为队尾。 基本操作 void queue_init(queue *q);//初始化 void qu...

2018-05-12 21:57:39 733

原创 数据结构:递归实现简单迷宫

先标记进来的点2,入栈,递归形成子问题——如何走剩下的迷宫?从入口点向四周试探,如果任意一个方向走成功了,就return 1,也就是整个迷宫就有解了,如果这个方向走失败了,说明这个方向以后不论怎么走都失败,要出栈这个结点。当四个方向全失败了,出栈入口点,并返回0.栈结构实现:简单迷宫出口判断 - CSDN博客   点击打开链接数据结构:静态栈与动态栈的实现 - CSDN博客  点击打开链接Stac...

2018-05-07 23:51:24 953

原创 栈结构实现:迷宫出口判断

利用栈实现迷宫:首先判断入口是否合法。入栈,保存栈顶位置并判断是否为出口。走过的位置标记为2。如果不是出口,依次向上-左-右-下 的方向判断是否走得通,走不通可返回,返回时标记为3.若是四个方向都走不通,说明迷宫无出口!stack.h#pragma once #include &lt;assert.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib...

2018-05-02 13:51:58 737

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除