
数据结构
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
九度题目1153:括号匹配问题
题目1153:括号匹配问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2965 解决:1315 题目描述: 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右 边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配原创 2014-07-29 21:18:46 · 1421 阅读 · 0 评论 -
【Java数据结构】二叉树
核心:树中每个节点最多只能有两个子节点(t>=0&&t 下面实现的是一个二叉排序树(左孩子小于父节点,右孩子大于父节点) 1.插入节点 核心思想: (1)如果不存在节点,则直接插入。 (2)从根节点开始查找一个相应的节点,即新节点的父节点,当父节点找到后,根据新节点的值来确定新节点是连接到左子节点还是右子节点。 2.查找节点 核心思想: 从根节点开始查找,如果查找到节点原创 2016-01-09 13:58:55 · 1632 阅读 · 0 评论 -
【Java数据结构】排序
1.冒泡排序 冒泡排序核心思想: 比较两个元素,如果前一个比后一个大则进行交换。经过对每个元素的比较,最后将最大的元素设置成最后一个元素。重复该操作,最后形成从小到大的排序。 for (int i = 0; i < num-1; i++) { for (int j = 0; j < num-i-1; j++) { if(arr[j]>arr[j+1]) { t=arr[j];原创 2016-01-05 10:43:53 · 1113 阅读 · 0 评论 -
【Java数据结构】栈
栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 一个char的栈模型类:package cn.deu;原创 2016-01-19 10:18:20 · 1096 阅读 · 0 评论 -
【Java数据结构】链表
1.链接点 链接点核心思想: 链接点中包含一个数据域和一个指针域。其中数据域用来包装数据,而指针域用来指向下一个链接点。 链接点模型: package cn.deu; public class Link { //数据域 private long data; //指针域 private Link next; public原创 2016-01-01 13:18:19 · 1021 阅读 · 2 评论 -
【Java数据结构】队列
队列 先进先出的线性表,它只允许在一端(队尾)进行插入操作,在另一端(队首)进行删除操作。与栈的插入和删除都在栈顶进行不同。 1.普通队列 实例代码: 存储类型为long的队列 package cn.deu; public class Queue { //队列组合 private long [] arr; //数组最大值 private int Ma原创 2015-12-14 22:50:03 · 1126 阅读 · 0 评论 -
【Java数据结构】递归
核心思想: 在方法中调用本身这个方法。 例子: package en.edu.Test; public class TestDiGui { public static void main(String[] args) { TestDiGui.test(0); } public static void test(int i){ if(i<5){ System.o原创 2015-12-11 11:20:45 · 1258 阅读 · 0 评论 -
【Java数据结构】Fibonacci数列
核心: Fibonacci数列中的第1、2项为1,第n项由n-1项加n-2项得到 测试代码: package en.edu.Test; public class TestFibonacci { //自己的方法 private static int arr[]=new int[9999+1]; static{ arr[1]=1;arr[2]=1;原创 2015-12-10 12:15:49 · 1365 阅读 · 0 评论 -
codeforces-DIV2-A-Jzzhu and Children
Jzzhu and Children time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output There are n children in Jzzhu's school. Jzzhu is going to give some can原创 2014-07-19 23:00:04 · 1385 阅读 · 0 评论 -
九度题目1342:寻找最长合法括号序列II
题目1342:寻找最长合法括号序列II(25分) 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:732 解决:294 题目描述: 假如给你一个由’(‘和’)’组成的一个随机的括号序列,当然,这个括号序列肯定不能保证是左右括号匹配的,所以给你的任务便是去掉其中的一些括号,使得剩下的括号序列能够左右括号匹配且长度最长,即最长的合法括号序列。 输入: 测试数据原创 2014-05-04 20:44:07 · 1428 阅读 · 0 评论 -
HDU 1237 简单计算器
简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11406 Accepted Submission(s): 3711 Problem Description 读入一个只包含 +, -, *, / 的非负整原创 2014-02-09 18:02:30 · 1328 阅读 · 0 评论 -
【Java数据结构】线性表
线性表 线性表是最基本、最简单、也是最常用的一种数据结构。 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了哨位结点)。 我们说“线性”和“非线性”,只在逻辑层次上讨论,而不考虑存储层次,所原创 2016-01-14 21:18:52 · 1160 阅读 · 0 评论