数据结构和算法
追梦小蚂蚁
走一次不一样的人生。
展开
-
静态顺序表的实现
Seqlist.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include<stdio.h> #include<assert.h> #include<stdlib.h> #include<malloc.h> #define MAX_SIZE 10 typedef int DataType;...原创 2018-04-14 23:50:39 · 241 阅读 · 0 评论 -
二叉树的基本操作和二叉树的面试题
BinTree.h #pragma once typedef char BTDataType; typedef struct BinTreeNode { struct BinTreeNode* _pLeft; struct BinTreeNode* _pRight; BTDataType _data; }BTNode,*PBTNode; #include&lt;mall...原创 2018-05-12 17:58:29 · 268 阅读 · 1 评论 -
队列的基本实现
Queue.h #pragma ince typedef int DataType; typedef struct QueueNode//队列节点 { QDataType _data; struct ListNode* _pnext; }ListNode, *PListNode; struct Queue { PListNode _phead; PListNo...原创 2018-05-12 16:02:39 · 171 阅读 · 0 评论 -
链式栈的实现
LinkedStack.h #pragma once #include<stdio.h> #include<stdlib.h> struct node { char data; struct node *next; }; typedef struct node LStackNode; typedef struct node* LinkStack; //初始...原创 2018-04-26 12:37:42 · 234 阅读 · 0 评论 -
堆的基本操作和应用
一、堆的基本操作 Heap.h #pragma once typedef int DataType; typedef int (*Compare)(DataType pLeft,DataType pRight); //表示的意思的就是接收两个指针类型的参数,返回整型的函数指针。 typedef struct Heap { DataType* _array; int _capa...原创 2018-05-17 09:29:18 · 295 阅读 · 0 评论 -
动态顺序表
在实现动态顺序表的开头我们需要了解的知识(动态内存的管理): 一、 malloc和free 二、calloc 三、 realloc 分别解析: 一、malloc和free malloc和free都声明在stdlib.h中。 1、malloc动态内存开辟函数原型:void* malloc (size_t size);(申请比较大的空间时候使用) (1)这个函数向内存申请⼀块连...原创 2018-04-12 10:53:13 · 1370 阅读 · 0 评论 -
顺序表和链表的区别
思考: 顺序表的优点: 是一种随机存储结构,存储任何元素的时间是一个常数,速度快。 结构简单,逻辑上相邻的两个元素在物理上也是相邻的。 不需要使用指针,节省存储空间。 顺序表的缺点 插入和删除元素需要移动大量元素,消耗大量时间。 需要一块连续的存储空间。 插入元素可能会发生溢出。 自由区的存储空间不能被其它数据占用(共享),存在浪费空间的问题。 比较顺序表和链表的优缺点,他们分别...原创 2018-04-16 21:57:50 · 302 阅读 · 0 评论 -
单链表的基本操作和链表的面试题
List.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<malloc.h> typedef int DataType; typedef struct Node { ...原创 2018-04-16 21:46:23 · 228 阅读 · 0 评论 -
数据结构基础知识学习(一)
程序设计 = 数据结构+算法 基本概念: 数据:描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号的集合。 数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。 数据项:一个数据元素可以有若干个数据项组成。数据项是数据不可分割的最小的单位。 数据结构: 概念:相互之间存在一种或者多种特定关系的数据元素的集合。 ...原创 2018-04-10 15:30:58 · 700 阅读 · 0 评论 -
二叉搜索树的基本操作
#pragma once typedef int DataType; typedef struct BSTreeNode { struct BSTreeNode* _pLeft; struct BSTreeNode* _pRight; DataType _data; }BSTNode; #include<assert.h> #include<stdio...原创 2018-05-20 13:13:19 · 199 阅读 · 0 评论