
数据结构
GP0071
不想写
展开
-
数据结构--KMP模式匹配算法
ji 克努特-莫里斯-普拉特算法,简称KMP算法。原创 2014-04-30 10:47:58 · 1715 阅读 · 0 评论 -
数据结构--算法(时间复杂度和空间复杂度)
今天学习了数据结构中的算法,了解了几个算法中有2个概念【p原创 2014-04-13 12:16:54 · 2682 阅读 · 0 评论 -
数据结构--队列
队列只允许一端进行插入操作,另一端进行删除操作。队列是一种先进先出的线性表,简称FIFO,允许插入的一段为队尾,允许删除的一端为队头。 顺序队列 与栈不同的是,队列的出队元素在队头,那么队列没出去一个元素,后面的元素就要依次像前移动,这样他的时间复杂度就是O(n)。 考虑上面截图的流程感觉效率很低,起始我们的队列可以以另一种方式来处理,就是元素不懂,而队头的指原创 2014-04-28 17:50:01 · 1421 阅读 · 0 评论 -
数据结构--栈的应用
了解了数据结构--栈(基础知识) 下面简单整理了下有关栈的几个应用。 递归 把一个直接调用自己,或间接调用自己的函数,成为递归函数。 这里有一个比较好的例子,看下面一组数: 你是否发现了这组数的规律呢,没错你会发现从第三个数开始,每个数都是前面两个数的之合。 现在我们通过程序来实现这个算法,如下java代码: public class Test { private原创 2014-04-27 21:40:35 · 1250 阅读 · 0 评论 -
数据结构--栈(基础知识)
栈:只允许在表尾进行插入与删除的操作(后进先出)。 我们把允许插入和删除的一段称之为栈顶,另一端称之为栈底,不含任何元素的栈称之为空栈,栈又称为后进先出的线性表,简称LIFO结构。 栈的插入操作叫做进栈、入栈、压栈。 栈的删除操作叫做出栈、弹栈。 进出栈的变化形式,在栈中元素还没有全部放进来之前,栈中的栈顶元素是可以出栈的。如图事例 栈的存储结构原创 2014-04-25 18:05:49 · 1907 阅读 · 0 评论 -
数据结构--基本概念
作为一个计算机专业的本科生、bing原创 2014-04-10 18:27:09 · 1637 阅读 · 0 评论 -
数据结构--二叉树遍历前序、中序、后序(java实现)
转载:转载 2014-05-11 17:18:50 · 1301 阅读 · 0 评论 -
数据结构--线索二叉树
我们先来看一张之前整理过的一张二叉树的链式存储结构 1、每个数据域,都有2个指针域,分别指向该节点的左孩子、右孩子,但是每个节点前驱、后继,要知道的话需要遍历整棵树,这在时间上耗费很大。 2、另外,在叶子节点中,我们可以看到如图,每个节点都会浪费2块存储空间,N个节点的二叉树,2N个指针域,连接线为2N-1,那么会有2N-(N-1) = N+1个指针域浪费掉。 为了优化以上2原创 2014-05-15 09:19:19 · 1700 阅读 · 0 评论 -
数据结构--线性表
下面附上一张图,来说明线性表的组织结构。 单链表 n个节点连接成一个链表即为线性表 如图 静态链表 因为某些比较老的语言,没有指针的概念,所以采用了静态链表的方法来表达单链表。 静态链表是通过数组实现的 循环链表 循环链表,正如其名,在单链表的基础上,是可以进行循环操作的、 如图所示 在链表的尾节点直接后继指向的是头结点的数据位置。原创 2014-04-23 18:16:08 · 1099 阅读 · 0 评论 -
数据结构--java实现双向链表
使用java实现双向链表的逻辑 package com; /* * 双向链表链表类 */ public class DLink { DLNode head, p, q, l;// 头引用head,p定位,q为待插入节点的引用 int n = 0;// 节点数目 // 构造空双向链表 public DLink() { head = null; } // 构造非空转载 2014-04-22 18:22:08 · 1056 阅读 · 0 评论 -
数据结构--二叉树(定义与存储结构)
什么是二叉树原创 2014-05-06 09:38:21 · 2694 阅读 · 0 评论 -
数据结构--树(定义与存储结构)
树的定义 节点分类 节点间关系原创 2014-05-03 14:59:10 · 4904 阅读 · 0 评论 -
数据结构--线性表(顺序存储)
基本概念: 线性表原创 2014-04-17 09:46:46 · 1573 阅读 · 0 评论 -
数据结构--创建二叉树
通过录入一个前序排列的结构,shengc原创 2014-05-14 09:07:29 · 1160 阅读 · 0 评论