![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Xiao菜瓜
这个作者很懒,什么都没留下…
展开
-
数据结构-线性表-顺序表(JAVA)
暑假打算学一下数据结构,顺序表这个东西看着思路这么简单,没想到实现起来却有这么多细节。首先声明一个接口,包括线性表所有需要的方法。这是线性表的基本部分。public interface List<T> {boolean isEmpty(); //判断是否为空int size(); //线性表元素个数(长度)T get(int i); //返回第i...原创 2018-07-16 15:04:04 · 768 阅读 · 0 评论 -
数据结构作业:多项式合并
数据结构作业:多项式合并,链表实现。感觉这个写的还是挺合格的,哈哈。import java.util.*;public class PolySinglyListTest { public static void main(String[] args) { PolySinglyList Ax=new PolySinglyList("1+x-x^2-x^3+x^5+x^10")...原创 2018-11-04 18:02:21 · 2452 阅读 · 0 评论 -
数据结构作业:二叉排序树及其相关操作
写了一个简单的。因为自己对泛型了解的还是不够到位,所以只能写个demo版的。这课树没办法维持平衡,希望以后学一下红黑树,替罪羊树etc. /* * 简单的二叉查找树 * 没有自带旋转平衡 * 写完这个我学一下 * avl树还有红黑树 */public class SearchTree { private Node head; public void insert(i...原创 2018-11-04 17:53:04 · 403 阅读 · 0 评论 -
今日分数据结构作业:冒泡排序、堆排、希尔排序、快排……
先看实验报告: 好吧,这次实验报告没有什么好吐槽的,安安分分的写了好久。bug无数,虽然之前写过,但是没这么详细。代码+注释:import java.io.*;import java.util.Arrays;public class Main3 { /*直接排序,希尔排序,冒泡排序,快速排序,直接选择排序,堆排序,归并排序算法 * 直接排序和直接选择排序...原创 2018-10-06 23:37:06 · 425 阅读 · 3 评论 -
今日分数据结构作业:图的简单操作
先上实验报告:还是比较简单的。但是开始没有了解过图的遍历,也不知道怎么遍历。其实也很简单,安利个视频:https://www.bilibili.com/video/av18586085?from=search&seid=6600959381110331126讲的比较详细。最小生成树吧,身为一个ACMer,这么简单裸的板子当然好写了。我用的prim写的,不过没有堆...原创 2018-10-06 00:26:55 · 270 阅读 · 0 评论 -
今日分数据结构作业:二叉树简单操作
又是一次非常有趣(sangxinbingkuang)的作业。这么简单的作业居然写了一下午,我也是醉了。看来下次要调整好状态再写作业了QAQ。先看实验要求:后三道题懒得写了,就不发要求了/滑稽。代码(附带详细注释):import java.util.*;public class Main { /* * 这次作业有点多,居然写了一下午 * 中间收了条信息,突然...原创 2018-10-04 17:47:38 · 231 阅读 · 0 评论 -
队列求解素数环
这是我们数据结构的作业,先看要求吧:编程实现队列类,要求包括基本变量和基本操作,也没啥。队列中两个变量,头节点和尾节点。每个节点不仅要有next节点值,还要有last节点。然后insert函数和pop函数,一个插入一个删除。不过这个要分几种情况,当队列为空,或者只有一个元素。队列实现:class Link<T>{ Node<T> head; ...原创 2018-10-03 16:24:54 · 916 阅读 · 0 评论 -
数据结构-队列(JAVA)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。(百度百科) 用链表实现一个队列大概就是要有一个头节点,一个尾节点,尾节点取出,头结点插入,要注意的一点是当队列中没有元素时要做特殊处理。 队列可以解决经典的走...原创 2018-07-26 20:46:28 · 178 阅读 · 0 评论 -
KMP算法的理解
学了一天终于了解KMP算法了,下面我通过图片讲解一下。 先说一下Bru-Force算法,比如我们要从序列:1 2 3 1 2 3 1 2 3 1 2 3 4中寻找序列1 2 3 1 2 3 4我们可以进行如下操作: 。。。。。。就这样一步一步可以类推出来子序列在目标串中的位置,但是这种效率如果碰到特殊情况如:目标串为:aaaaaaaaab,目标串:aaab的情...原创 2018-07-21 19:17:42 · 655 阅读 · 4 评论 -
字符串匹配的KMP算法
本文转自:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDAB...转载 2018-07-21 10:11:16 · 167 阅读 · 0 评论 -
数据结构-串-StringBuffer基本操作(JAVA)
StringBuffer和String类的区别是StringBuffer中的数组有缓冲,所以不需要每次进行插入操作都重新申请数组,提高了空间利用效率。这里实现了一些StringBuffer的基本操作(几个构造方法,查入和删除操作)。public class MyStringBuffer implements Serializable{ private char value[]; ...原创 2018-07-20 16:44:36 · 716 阅读 · 0 评论 -
数据结构-栈解决表达式求值
栈可以用来解决表达式求值问题,其原理是先把字符串从中缀表达式转化为后缀表达式,然后求值。其中的栈我用的式自己实现的:https://blog.csdn.net/king8611/article/details/81199061,当然JAVA里也有可以直接调用的栈。中缀表达式转化为后缀表达式函数: public static StringBuffer toPostfix(String ...原创 2018-07-25 18:55:04 · 954 阅读 · 0 评论 -
数据结构-栈(JAVA)
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。(百度百科) 栈能解决很多经典问题,比如括号配...原创 2018-07-25 11:38:07 · 320 阅读 · 0 评论 -
数据结构-单链表的逆转
单链表的逆转是指除了头结点外,要把开始的节点的指向逆转一下。https://blog.csdn.net/king8611/article/details/81099344这是刚才写的单链表,没有反转函数。因为单纯反转会出现节点损失,所以这里需要用到中间节点储存一下,最后头结点再指向尾节点就行了。 public void reveser(){ //单链表的反转 Node&...原创 2018-07-18 17:09:43 · 973 阅读 · 2 评论 -
数据结构+单链表(JAVA)
单链表的实现还是很基础的,首先写个节点类:public class Node<T> { public T data; public Node<T> next; public Node(T data,Node<T> next){ this.data=data; this.next=next; } public Node(){ this(nul...原创 2018-07-18 15:50:42 · 893 阅读 · 0 评论 -
数据结构-顺序排序表(JAVA)
顺序排序表只是继承了顺序表,改变了里面一些内容。另外可以把search函数做一下优化,改为二分查找。https://blog.csdn.net/king8611/article/details/81065297这是昨天写的顺序表,顺序排序表就是继承这个,其中需要重载的函数有insert相关的函数,set函数变为不可用函数。然后可以把search函数优化一下。public class ...原创 2018-07-17 16:59:38 · 1355 阅读 · 0 评论 -
菜瓜大二下学期的数据结构作业
这个学期的数据结构作业写完啦,菜瓜想给大家分享一下。//太简单的就算了,懒得写了。还有选做题。实验3,多项式合并:https://blog.csdn.net/King8611/article/details/83718099实验5,队列解决素数环:https://blog.csdn.net/King8611/article/details/82932270实验6,二叉树的基本操作:...原创 2018-11-04 18:13:17 · 513 阅读 · 6 评论