![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 63
lu_1079776757
这个作者很懒,什么都没留下…
展开
-
括号匹配问题
括号匹配问题原创 2017-11-23 21:02:22 · 352 阅读 · 1 评论 -
求二叉树的高度/销毁一颗二叉树
int HeightOfBinatyTree1(BinaryTreeNode* pRoot) //二叉树的高度{ if (pRoot == NULL) return 0; int m = HeightOfBinatyTree1(pRoot->_pLeft); int n = HeightOfBinatyTree1(pRoot->_pRight...原创 2018-03-29 17:01:11 · 247 阅读 · 0 评论 -
链表逆置
给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,提示:这个题是链表逆置的升级变型。pNode RotateList(pNode* pHead, DataType k) { pNode pPre = Find(*pHead, k); pPre = ...原创 2018-03-29 17:02:45 · 159 阅读 · 0 评论 -
C语言实现顺序表
SeqList.h#ifndef __SEQLIST_H__#define __SEQLIST_H__#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<memory.h>typedef int DataType; //顺序表的元素类型#define N ...原创 2018-04-24 17:12:10 · 178 阅读 · 0 评论 -
排序算法总结
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类:(1)、插入排序:直接插入排序、二分法插入排序、希尔排序。(2)、选择排序:简单选择排序、堆排序。(3)、交换排序:冒泡排序、快速排序。(4)、归并排序(5)、线性时间排序:计数排序、基数排序、桶排序...原创 2018-07-23 18:35:24 · 518 阅读 · 0 评论 -
冒泡排序算法
什么是冒泡排序呢?冒泡排序的英语名是Bubble Sort,是一种最基础的交换排序。 大家一定都喝过汽水吧,汽水中常常有许多小小的气泡,往上飘,这是因为组成小气泡的二氧化碳比水要轻,所以小气泡才会一点一点的向上浮。而冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以向小气泡一样,根据自身大小,一点一点向着数组的一侧移动。具体如何移动呢?我们来看一下例子: 有...原创 2018-07-19 22:31:43 · 402155 阅读 · 32 评论 -
链表基本操作
链表: 就是用一组任意的存储单元来存放线性表的元素,这组存储单元可以是连续的,也可以是不连续的,甚至可以是分布在任何位置。首先定义一个结构体:typedef int DataType; typedef struct ListNode{ DataType data; struct ListNode* next;}ListNode,*pNode;结点包括两个域:...原创 2017-11-03 15:20:15 · 204 阅读 · 0 评论 -
实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最 小值的操作)的时间复杂度为O(1)
主要思路:1)建立两个栈_data与_mindata,其中_data作为数据栈,存放每一个入栈的数据;_mindata作为数据最小栈,存放数据栈中当前最小的数据;2)当元素data入栈时,将data入栈到_data数据栈中,并让data与_data的栈顶元素做比较,如果x小于等于_data的栈顶元素,则将data入栈到_mindata最小数据栈中;3)当元素出栈时,让_data与_m...原创 2018-08-27 17:29:22 · 461 阅读 · 0 评论 -
使用两个栈实现一个队列
栈是一个非常常见的数据结构,他在计算机领域被广泛应用。栈的特点是先进后出,栈是一个不考虑排序的数据结构。 队列的特点是先进先出,即第一个进去的元素将会第一个出来。 让我们用两个先进后出的栈来实现一个先进先出的队列,那么我们把数据压入第一个栈,此时我们很清楚它的出战顺序是与我们想要的队列的出队顺序是相反的,如果再把这个栈里面的元素依次压入第二个栈,此时我们想想...原创 2018-08-27 18:09:08 · 286 阅读 · 0 评论