数据结构
LawrenceLan0416
这个作者很懒,什么都没留下…
展开
-
括号匹配的检验
使用栈的结构检验一串输入的括号和中括号是否匹配,只有()和[]一一对应的时候,该串才算正确的串,如:([]())和[([][])]是正确的串,[(])和([())是不正确的。 首先读取输入的串,检查每个当前元素,如果是(或者[则压入栈中,是)或]则检查栈顶元素,如果栈顶元素与当前元素刚好闭合,则将栈顶元素弹出。换而言之,栈中存储的内容只有(和[,当栈为空,当前元素为)...原创 2018-09-21 17:05:25 · 6513 阅读 · 2 评论 -
链式队列的简单实现
链式队列是数据结构中常用的一种数据存储方式,使用链表模拟队列的效果,简单的实现如下:#include<stdlib.h>#include<stdio.h>//链式存储结构的队列//定义节点typedef struct QNode{ int data; struct QNode *next;}QNode,*QueuePtr;typedef...原创 2018-09-21 23:07:54 · 745 阅读 · 0 评论 -
使用Java实现的决策树
本系统实现了决策树生成,只要输入合适的数据集,系统就可以生成一棵决策树。 数据集的输入使用二维数组,输入的个数为:序号+特征+分类结果。同时要把特征名以及对应的特征值传给程序,如此一来系统就可以建决策树。 关于决策树的定义这里不再列出,CSDN上有很多类似的博客。这些博客实现的Java代码很长,又没有注释,我看不懂,所以自己实现了一遍。我这里不再多加赘述。使...原创 2019-01-13 16:23:21 · 4765 阅读 · 0 评论 -
判断二叉树B是否是二叉树A的子结构(个人想法)
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) 个人想法:二叉树的遍历可分为先序遍历,中序遍历,后序遍历,中序遍历加上先序和后序中任意一种遍历可以确定二叉树的结构,设想若B是A的子结构,则A的先序序列中肯定包含B的先序序列中所有节点,同时逻辑顺序也相同,其余两种序列也是。所以可以先得到B的先序(或后序)遍历序列和中序遍历序列,再得到...原创 2019-01-25 00:08:36 · 802 阅读 · 0 评论 -
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径
题目:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)树节点的定义为:public class TreeNode { int val = 0; TreeNode left = null; TreeNode righ...原创 2019-04-30 23:47:57 · 2574 阅读 · 0 评论 -
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
C/C++中可以使用&&逻辑短路完成,但是Java中逻辑条件中除了true和false无法使用数字充当判断条件,可以使用取巧的方法。求和的公式为:(n+1)*n/2,扩展一下为(n^2+n)/2,。n^2可以借助Math库里面的函数,除以2可以使用以为操作,求解符合题目要求。代码为:int Sum_Solution(int n) { int result = ...原创 2019-05-01 00:42:11 · 826 阅读 · 0 评论