数据结构
qq_26369213
这个作者很懒,什么都没留下…
展开
-
【补充】递归实现单向链表逆转
同样是单向链表的逆转,换了个方法实现。分别用递推和递归的方式实现,但感觉在这里递归和递推效率上相差不多,要是链表太长的话,递归有可能会引发段错误或者栈溢出(进去就出不来了)。思路比昨天清晰多了,但没事去逆转一个单向链表,还真是有点蛋疼的感觉。#include #include //定义节点的数据类型typedef struct _node{ int data; //指向原创 2015-05-28 22:35:25 · 604 阅读 · 0 评论 -
【l练习代码】有序二叉树的操作
主要实现功能为:增加节点,计算二叉树节点的个数,删除二叉树指定的节点,镜像二叉树的实现(变成镜像二叉树后不再是有序二叉树,所以不能删除节点)。最近学习中发现二叉树还是挺有意思的,上网看了下二叉树的操作,发现比我想象中的要多得多,不仅仅是二叉树的增删改查,但有些的确是有难度,虽然想好好掌握以下,但暂时还是把精力放到能短时间领悟的知识上。#include #include typ原创 2015-05-30 15:29:58 · 615 阅读 · 4 评论 -
【随堂笔记】数据结构基础
数据结构1.1 基本概念 在计算机中,数据结构就是指 计算机中描述和存储数据的方式,主要是描述数据元素之间的逻辑关系以及在计算机的存储形式。 通常情况下,数据结构的选择会影响到程序的运行效率(时间复杂度)以及程序的存储效率(空间复杂度)。 计算机程序 = 数据结构 + 算法 1.2 基本分类/层次结构(1)逻辑结构 - 抽象层原创 2015-05-25 23:14:13 · 681 阅读 · 0 评论 -
【数据结构练习】单向链表实现、链表逆序实现
单向链表逆序实现,感觉略微繁琐,还有点啰嗦。但智商是硬伤,暂时想不到更好的算法。原创 2015-05-27 22:57:33 · 647 阅读 · 0 评论 -
【数据结构练习】二叉树的实现
普通的二叉树代码/* 二叉树的实现*/#include #include //定义一个节点的结构体typedef struct _node{ int data; //节点需要保存的数据 struct _node *p_left; //指向左下方的节点(后继元素) struct _node *p_right; //指向右下方的节点(后继元素)}Node;原创 2015-05-26 23:06:41 · 401 阅读 · 0 评论 -
【数据结构练习】基于线性结构的队列
普通的练习代码#include #include typedef struct _queue{ int *arr; int cap; //容量 int size; //该队列中存储有效数据的个数 int front; //指向队列的前端 int back; //指向队列的后端}Queue;//创建队列Queue *queue_create(int cap)原创 2015-05-26 23:11:09 · 344 阅读 · 0 评论 -
【数据结构练习】基于链表结构实现的队列
基于链表结构实现的队列,特点是先进先出,由于是链表结构实现了,所以理论上队列不会为满。原创 2015-05-27 22:21:50 · 440 阅读 · 0 评论 -
【C++】双向线性链表容器的实现
// 双向线性链表容器#include #include #include using namespace std;// 链表类模板templateclass List{public: // 构造、析构、支持深拷贝的拷贝构造和拷贝赋值 List(void) : m_head(NULL), m_tail(NULL) {} ~List(void) { clear();原创 2015-08-06 22:47:36 · 989 阅读 · 0 评论