自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YuYunTan的专栏

谭淇蔚,初级程序猿,本科中南大学,研究生华中科技大学,曾在恒生电子实习半年,目前远景能源正式员工。研究方向是无标记的三维注册,研究SLAM等计算机视觉领域,工作职责与Java证书安全和MQTT相关。

  • 博客(21)
  • 收藏
  • 关注

原创 博客更新申明-置顶

博客以后将采取一周0-2篇的形式,为保证自己生活和学习的时间要求,其次保证一个月在4篇或者4篇以上,看时间情况。在允许情况下会更新更多些,现在由于参加各类笔试和复习急需时间的情况下,需要将时间调整,以后会更新缓慢。

2016-03-23 23:19:08 666

原创 数据结构(19)栈典型问题之C++实现表达式求值

导言表达式求值算法算法具体实现导言表达式求值是程序设计语言中的一个最基本问题。本次实现采取“算符优先法”。表达式求值如何一个表达式都是由操作数、运算符和界限符组成的,我们称为单词。一般地,操作数既可以是常数也可以是被说明为变量或常量的标识符;运算符可以分为算术运算符、关系运算符和逻辑运算符3类;基本界限符有左右括号和表达式结束符等。我们把运算符和界限符统称为算符它们构成的集合命名为OP。我们得

2016-03-23 23:08:44 2541

原创 数据结构(18)栈典型问题之C++实现括号匹配

导言括号匹配实现运行结果导言假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即【{}】或【([][])】等为正确的格式【[(])】或【[())】等均为不正确的格式。括号匹配思路: 左括号入栈,在未遇到右括号前,一直入栈,一旦遇到匹配的右括号,就一直弹出栈顶元素,直到栈空,若栈空,左括号与右括号已匹配完全,则完全匹配,反之则反。实现/* 函数结果状态代码 */#defin

2016-03-18 12:42:36 2484

原创 数据结构(17)栈典型问题之C++实现数值转换

导言数值转换算法具体实现包括顺序栈完整定义运行结果结束语导言前面学习了顺序栈的一些基本定义和函数操作原型,本章是以数值转换为例子,给出顺序栈所有函数的实现。数值转换十进制N和其他dd进制的转换是计算机实现计算的基本问题,其解决方法很多,其中一个简单算法基于下列原理: N=(N div d)×d+N mod dN=(N\ div \ d) \times d + N \ mod \

2016-03-18 11:54:33 4138

原创 数据结构(16)顺序栈的表示和算法表示

导言栈的存储表示方式栈的初始化操作栈顶指针和栈中元素的关系顺序栈的模块说明结语导言栈是线性表的一种特殊形式,故而有两种存储方式,现今讨论顺序栈栈的存储表示方式顺序栈(顺序存储结构) 利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。 top=0,表示空栈 设计过程中初始化空栈,是先为栈分配一个基本容量,然

2016-03-18 00:07:01 1448

原创 数据结构(15)栈的定义和抽象定义

导言栈定义栈的抽象定义导言从数据结构角度上看,栈也是线性表,特殊在于,其基本操作是线性表的子集,可称为限定性的数据结构。 从数据类型角度看,是与线性表大不相同的抽象数据类型栈定义栈(stack)又名堆栈,它是一种限定在表尾进行插入或删除操作的线性表。表尾被称为栈顶,相对地,把另一端称为栈底。 不含元素的空表称为空栈。 向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上

2016-03-17 23:13:56 3459

原创 数据结构(14)线性表之C++实现一元多项式相乘

导言源码实现结果展示导言两个一元多项式相乘的算法,可以利用两个一元多项式相加的算法来实现,因为乘法可以分解为一系列的加法运算。源码实现#define OK 1#define ERROR 0#define OVERFLOW -2#define TRUE

2016-03-17 18:58:20 4558

原创 数据结构(13)线性表之C++实现一元多项式相减

导言源码导言一元多项式相减,其实是变向的一元多项式相加,只需要把减的另一个多项式,系数都取反,然后进行一元多项式相加就成。源码#define OK 1#define ERROR 0#define OVERFLOW -2#define TRUE 1#

2016-03-17 12:28:58 3024

原创 数据结构(12)线性表之C++实现一元多项式相加

导言一元多项式表现形式部分算法描述具体实现代码代码实现第一种第二种代码的实现仅链表存储形式实现导言上篇文章,我们说明了一元多项式相加采取了什么形式和抽象定义数据类型定义以及实现一元多项式相加的方法,本节将用具体代码来实现一元多项式相加。一元多项式表现形式typedef struct{//项的表示,多项式的项作为LinkList的数据元素float coef;//系数int expn;/

2016-03-17 11:24:57 19418 5

原创 数据结构(11)线性表之一元多项式表示及相加

导言一元多项式介绍抽象数据类型一元多项式定义相加如何实现结语导言符号多项式处理,是表处理的典型范例。而这章就是主要就本经典案例进行讨论。一元多项式介绍数学上,一个一元多项式pn(x)p_n(x)可以按照升幂写成pn(x)=p0+p1x+p2x2+...+pnxnp_n(x)=p_0+p_1x+p_2x^2+...+p_nx^n 它由n+1个系数唯一确定。因此在计算机里面,它可以由一个线性表

2016-03-16 20:43:54 4915

原创 数据结构(10)线性表之双向链表

导言双向链表存储结构双向链表的示例图示例双向链表取得元素算法双向表插入算法双向表删除算法双向链表的实现源码运行结果导言双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 双向表的结点有两个指针域,一个是其直接前驱,一个是其直接后

2016-03-16 15:46:15 1039

原创 数据结构(9)线性表之循环链表介绍

导言循环列表循环列表结构单循环列表实现代码运行结果导言循环列表是链式存储结构的一种形式。它的特点从名字就可以清楚,“循环”。那么如何实现循环。 循环的实现很简单,只有表的最后一个结点的指针,不是指向NULL,而是指向了头结点,那么整个链表就能形成环。 特点:从表中任一结点出发均可以找到表中其他结点循环列表循环列表结构 循环链表操作和线性链表基本一致,除了算法中循环条件不是p或p-

2016-03-16 11:25:26 2839

原创 数据结构(8)线性表之静态链表

导言静态单链表的存储结构静态链表结构静态链表元素定位算法导言前段时间的文章,学习了线性表中的顺序表以及带头结点的单链表以及它们的操作和实现,现在学习另一种链表,叫静态链表。 用数组进行描述的链表叫静态链表。静态单链表的存储结构#define MAXSIZE 1000 //链表的最大长度typedef struct{ ElemType data; int cur;}co

2016-03-16 11:06:31 1001

原创 数据结构(7)线性表之链表C++实现差集

题目算法算法的动态表示算法具体实现运行结果题目已知单链线性表LALA和LBLB的元素按值非递减排列,假设利用两个线性表LALA和LBLB分别表示两个集合AA和BB(即线性表中的数据元素即为集合中的成员,现要求一个新的计划A=A−BA=A-B )。算法void SubList_L(LinkList &La,LinkList &Lb,LinkList &Lc){ pa=La->next

2016-03-15 23:41:19 1477

原创 数据结构(6)线性表之链表C++实现交集

题目算法算法动态演示算法具体实现运行结果题目已知单链线性表LALA和LBLB的元素按值非递减排列,假设利用两个线性表LALA和LBLB分别表示两个集合AA和BB(即线性表中的数据元素即为集合中的成员,现要求一个新的计划A=A⋂BA=A \bigcap B )。这就要求对线性表做如下操作:对于LALA,将不存在于线性表LBLB中而存在在线性表LALA中的数据元素从线性表LALA中删除掉。只要从

2016-03-15 23:17:37 1716

原创 数据结构(5)线性表之链表C++实现带头结点的单链表合并

题目算法原节点上合并算法动态演示算法具体实现运行结果合并新节点方式原题目第三篇文章的链表实现方式算法动态演示算法实现运行结果题目如何将有序链表合并成有序链表 假设头指针为LaLa和LbLb的单链表分别为线性表LALA和LBLB的存储结构,现要归并LaLa和LbLb得到单链表LcLc。 思路点拨 按照第三篇文章的思想,需要设立三个指针pa,pb和pc,其中p

2016-03-14 16:54:33 2805

原创 数据结构(4)线性表之链式表示

导言线性表线性链表实例插入和删除插入实现算法插入模拟动态演示删除算法删除结点实现算法删除结点的动态演示建立链表算法描述算法动态演示导言在上一次,我们讨论了线性表的顺序存储结构,特点是逻辑关系上相邻的两个元素在物理位置上也相邻,可随机存取,其存储位置可以用一个简单、直观的公式来表示。弱点:插入或删除操作,需要移动大量元素。而链式存储不求逻辑上相邻的元素物理位置上也相邻,插入删除不

2016-03-14 00:13:49 1988 5

原创 数据结构(3)线性表之顺序表C++实现

算法21动态演示运行结果算法22算法实现运行结果算法27算法实现运行结果算法2.1假设利用两个线性表LALA和LBLB分别表示两个集合AA和BB(即线性表中的数据元素即为集合中的成员,现要求一个新的计划A=A⋃BA=A\bigcup B )。这就要求对线性表做如下操作:扩大线性表的LA,将存在于线性表LBLB中而不存在在线性表LALA中的数据元素插入到线性表LALA中去。只要从线性表LB

2016-03-13 11:12:21 1795 1

原创 数据结构(2)线性表之顺序表

导言抽象数据类型线性表定义如下线性表的顺序表示和实现顺序表特点线性表顺序存储结构示意图线性表的动态分配顺序存储结构顺序表的插入和删除插入插入伪算法算法动态演示删除删除算法的动态演示插入和删除算法时间复杂度插入算法的平均期望删除算法的平均期望下一次文章是此文章概念伪代码的具体内容的实现导言首先说一下线性表是最基本、最简单、也是最常用的一种数据结构。 那么特点有哪些呢?

2016-03-12 23:08:22 1317 1

原创 数据结构(1)数据结构的概念和定义

【参考资料:《数据结构》(C语言版)】 本人实现主要以C++或Java两种语言实现。数据结构定义简单来说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算

2016-03-10 21:18:56 5807

原创 Photoshop CS6 实例之用调整边缘扣取美女头发

素材素材1素材2素材3步骤打开素材1,在“工具箱”中选择“魔棒工具”,然后在选项栏中设置“容差”为10,并关闭“连续”选项,接着在背景上单击,选中背景区域,如下所示: 注意 按住Shift键可以使得多次选择,才能选择背景区域,本素材背景区域颜色不单一。 执行”选择>调整边缘”菜单命令,打开“调整边缘”对话框,然后设置“视图模式”为“黑白模式”,此时在画布中可以观察到很多

2016-03-08 15:34:37 7930

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除