随笔分类 -  data structure

摘要:广义表的基本概念 广义表(Lists,又称列表)是线性表的推广。线性表定义为n>=0个元素a1,a2,a3,…,an的有限序列。线性表的元素仅限于原子项,原子是作为结构上不可分割的成分,它可以是一个数或一个结构,若放松对表元素的这种限制,容许它们具有其自身结构,这样就产生了广义表的概念。 广义表是n 阅读全文
posted @ 2015-10-02 17:55 技术让梦想更伟大 阅读(1960) 评论(0) 推荐(0) 编辑
摘要:哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序 阅读全文
posted @ 2015-10-01 17:09 技术让梦想更伟大 阅读(1627) 评论(1) 推荐(1) 编辑
摘要:前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序... 阅读全文
posted @ 2015-10-01 09:34 技术让梦想更伟大 阅读(557) 评论(0) 推荐(1) 编辑
摘要:串的基本概念 串(或字符串),是由零个或多个字符组成的有穷序列。含零个字符的串称为空串,用Ф表示。 串中所含字符的个数称为该串的长度(或串长)。 当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,这两个串才是相等的。 一个串中任意个连续字符组成的子序列(含空串,但不含串本身)称为该串的子串。 阅读全文
posted @ 2015-10-01 08:40 技术让梦想更伟大 阅读(409) 评论(0) 推荐(1) 编辑
摘要:堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称一、堆的定义最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树... 阅读全文
posted @ 2015-09-30 20:57 技术让梦想更伟大 阅读(282) 评论(0) 推荐(1) 编辑
摘要:关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 +... 阅读全文
posted @ 2015-09-30 13:49 技术让梦想更伟大 阅读(411) 评论(0) 推荐(1) 编辑
摘要:1.1栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:结论:后进先出(Last In First Out),简称为LIFO线性表。栈的基本运算有六种:构造空栈:InitStack(S)、判栈空: StackEmpty(S)、判栈满:StackF... 阅读全文
posted @ 2015-09-30 13:47 技术让梦想更伟大 阅读(395) 评论(0) 推荐(1) 编辑
摘要:趁着十一就好好补补数据结构吧,通信这个不软不硬的专业,现在还是得好好学学补习补习,,你这个非211的本科生!虽然拿到了一个offer,但是觉得时间还有,得继续拼一拼,希望不辜负!1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat... 阅读全文
posted @ 2015-09-29 20:05 技术让梦想更伟大 阅读(1228) 评论(0) 推荐(0) 编辑
摘要:最近经历了各种面试,各种东北西跑,各种面试准备,以及各种各样不一样的问题和面试官对自己本科大学的打击,,我相信即使是普通大学也会让考官眼前一亮的,,作为一名非211的湘潭大学的学子,我不知道自己以后路在何方,但依然会继续前行,相信自己会做到最好! 刚从武汉面试回来,打算总结一下面试经验,身为一名通信 阅读全文
posted @ 2015-09-15 11:40 技术让梦想更伟大 阅读(2167) 评论(9) 推荐(1) 编辑
摘要:新学期开始了,开始专心于技术上了,上学期的寒假总是那么短暂,飘飘乎就这样逝去,今天补补上学期还没学完的数据结构 图,希望能和大家一起探讨,共同进步~ 定义: 图是由顶点集合及顶点间的关系集合组成的一种数据结构。 图的存储结构: 1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组 阅读全文
posted @ 2015-03-10 10:28 技术让梦想更伟大 阅读(5548) 评论(1) 推荐(6) 编辑
摘要:生活中我们经常会遇到这样的问题,对话如下。路人:“同学,请问湘大图书馆怎么走啊?” 学生:“前面路口左转,然后直走,第三个路口左转,之后再右转就到了。”这里就涉及到创建二叉树来解决此类问题的方法了。 指路法定位结点 从根节点开始:结点1的位置: { NULL }结点2的位置:{ 左 }结点3的... 阅读全文
posted @ 2015-01-19 10:17 技术让梦想更伟大 阅读(822) 评论(0) 推荐(0) 编辑
摘要:和栈相反,队列是一种先进先出的特殊线性表,它只允许在表的一段进行插入,而在另一端删除元素,这里需要注意,队列不允许在中间部位进行操作,队列通常有两种实现方式:顺序结构实现、链式结构实现。 队列有下面几个操作: InitQueue() ——初始化队列 EnQueue() ——进队列 DeQueue() 阅读全文
posted @ 2015-01-16 21:23 技术让梦想更伟大 阅读(3331) 评论(3) 推荐(2) 编辑
摘要:对于栈有些问题还不是很熟悉,所以暂时需要些时间去理解,需要多写些代码去体会,,栈还有一个重要应用是在程序设计语言中实现递归,所以这次主要是讲递归的实现,大家熟悉的阶乘函数,2阶Fibonacci数列和Ackerman函数等,其次还有的数据结构,如二叉树、广义表等,由于结构本身固有的递归特性,则它们的 阅读全文
posted @ 2015-01-15 17:28 技术让梦想更伟大 阅读(3517) 评论(0) 推荐(0) 编辑
摘要:有时候就会有一种感觉,尽管学习了C和C++,看到程序都差不多看得懂,但是真正让自己去开发一个软件或者独立性的去写一些代码的时候还是很困难,我们都知道程序的灵魂是算法,一个程序是算法和数据结构的相结合,在接下来来的寒假时光中,笔者将会学习数据结构的一些基础知识,并且加上个人的一些理解,和大家一起分... 阅读全文
posted @ 2015-01-14 00:19 技术让梦想更伟大 阅读(913) 评论(0) 推荐(0) 编辑