![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
ys_2012
这个作者很懒,什么都没留下…
展开
-
二叉树高度、结点个数、判断;
1、二叉树的高度; 2、二叉树的叶子结点个数; 3、二叉树第k层的节点个数; 4、判断节点是否在二叉树中;#pragma once #include <vector> #include <queue> #include <iostream> #include <assert.h> using namespace std;typedef char DataType;struct BinaryNo原创 2015-07-17 16:05:04 · 1080 阅读 · 0 评论 -
二叉树的前序、中序、后序、层序遍历
1、二叉树是N(N>=0)个节点的有限集合,该集合或者为空集(空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的的左子树和右子树的二叉树组成; #pragma once #include <vector> #include <queue> #include <iostream> #include <assert.h> using namespace std;typedef char D原创 2015-07-17 15:27:58 · 317 阅读 · 0 评论 -
单链表判断是否带环,环的接入点
1、是否带环判断:使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、环的接入点:碰撞点p到连接点的距离=头指针到连接点的距离,因此,分别从碰撞点、头指针开始走,相遇的那个点就是连接点。//判断单链表是否带环 bool FindListTail(PList &head, PList &hNode) {原创 2015-07-16 10:19:11 · 340 阅读 · 0 评论 -
链表的创建、查询、删除,插入;
链表(LinkList)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。单链表数据结构 struct Node { int _data ; // 数据 struct Node* _next; // 指向下一个节点的指针 }Node, *PLinkList; //输出链表 void P原创 2015-07-30 11:07:55 · 324 阅读 · 0 评论 -
直接插入排序
1、插入排序—直接插入排序(Straight Insertion Sort) 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时存储和判断数组边界之用。 如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相原创 2015-07-20 23:09:44 · 314 阅读 · 0 评论