数据结构上机
溟檠
算法+java+机器学习
展开
-
采用中序和前序、中序和后序序列创建二叉树 以及对二叉树的前序和后序非递归遍历
类准备节点类定义#include <iostream>using namespace std;template<class T>class BtreeNode{ public: T data; BTreeNode<T> * LChild; BTreeNode<T> * RChild; BtreeNode(T...原创 2018-12-11 17:01:50 · 145 阅读 · 0 评论 -
半递归求二叉树宽度
int height(Node&amp;lt;int&amp;gt; * root){ if(root ==NULL)return 0; int l = 0;int r = 0; if(root-&amp;gt;L == NULL &amp;amp;&amp;amp;root-&amp;gt;R != NULL){ l = 0;r = height(root-&amp;gt原创 2018-12-11 17:29:21 · 290 阅读 · 0 评论 -
判断二叉树是不是完全二叉树
bool isCompleteTree(Node&lt;int&gt; * root){ if(root){ queue&lt;Node&lt;int&gt;*&gt; q; Node&lt;int&gt; * cul = NULL;//当前节点 bool flag = false; q.enQueue(root); while(!q.isEmpty()){原创 2018-12-11 17:47:36 · 134 阅读 · 0 评论 -
数据结构-6种内部排序算法
排序算法本文将列举常用的线性表的排序算法的c++ 实现 供读者参考。涉及到的排序算法有:插入排序(3种)、交换排序(2种)、归并排序(假设小于为正序)详细介绍:直接插入排序:该算法采用朴素的比较方式,在有序序列中寻找待插入元素的位置,为节省运算采用从后往前的方式进行查找(每次将正序序列元素后移一位) .这种方式是稳定的。//straight insertvoid Strai...原创 2018-12-25 17:41:48 · 1225 阅读 · 1 评论 -
Dijkstra_算法实现
简单介绍Dijlstra 算法适用于计算从某点出发到其余点的最短路径的算法,其核心步骤大致是:初始化寻找最小未计算完值,此时该值为计算完的值根据该最小值优化其余未计算完的节点路路径判断是否全部计算完发vv色代码实现void Dijkstra(Graph_D &amp;amp;G,int s,int D[],int path[]){ int n = G.nNum;//初始...原创 2018-12-18 21:39:23 · 158 阅读 · 0 评论