数据结构
文章平均质量分 81
数据结构的基础知识,以及各种数据结构的实现
企鹅爱吃方便面
我好像有洁癖
展开
-
数据结构碎碎念(一)
碎碎念在大一学习C语言的时候,举过一个用栈实现的括号匹配算法,当时觉得很难,不过现在回顾起来,这个算法也算是比较简单的一个关于栈的应用了。而现在所常见的算法问题也都是什么中缀表达式转后缀表达式,双栈找最小值之类的。难度比之括号匹配稍有提升,不过倒也算是必须要掌握的算法。上述所说的表达式求值在程序设计语言中是一个最基本的问题,也是栈的实现的一个典型范例。为什么说是最基本?我们知道,中缀表达...原创 2018-09-22 22:56:08 · 169 阅读 · 6 评论 -
hihoCoder简单问题合集[持续更新中]
1151:提补交卡 提取主要信息:得到最长连续天数在一张补交卡提交之后,总能得到比之前所有连续天数更长的数据。简单来说,我们需要明白,这里的连续天数是如何求到的。显然,两个连续出现的未签到日期的序号之差即为连续天数,而求其中最大,则是找到其中具有最大差值的两个序号。一言以蔽之:只有连续使用补交卡才能获得最大值——即贪心算法+枚举。伪代码如下:if N > M...原创 2018-03-31 20:21:10 · 797 阅读 · 0 评论 -
#1039:字符消除
提取主要需求:即消除连续出现的两个以上的字符,直到新生成的字符串不满足条件。初步分析设置一个flag标志前一次循环是否有消除操作,如果有,则开始下一次的循环。可该如何判断是否可以消除字符呢?此时追加一个for循环,将字符串的起始位置设为标记点,检查其后的字符是否与标记点字符相同;若相同,则将其位置置为终止位置;若不同,则删除首位置元素(放入最终字符串变量result中,...原创 2018-03-30 21:32:04 · 525 阅读 · 1 评论 -
二叉树翻转
二叉树翻转是一道比较简单,但是又非常有意思的算法问题。原创 2017-08-27 11:02:38 · 1114 阅读 · 0 评论 -
浅析散列设计
说道散列,我们可能觉得是个新奇的事物,但实际上学过Java的人就会知道,在equal函数中会使用到hashcode,那就是所谓的散列码,而将对应的字转换成散列码的过程,我们称之为散列过程,这个过程函数被称之为散列函数。原创 2017-08-07 22:55:20 · 646 阅读 · 0 评论 -
二叉查找树
说来说去,怎么说的都是关于二叉树的内容......原创 2017-07-31 10:46:55 · 1099 阅读 · 0 评论 -
排序中的数据结构
准确的说来,排序应该属于算法一类的,但是他的实现却是基于各种数据结构的。本文主要针对这些实现排序的数据结构进行介绍。原创 2017-07-28 08:38:11 · 835 阅读 · 0 评论 -
图的存储与实现
图的实现图是一种非线性结构,其复杂程度要比树更甚一筹。图这种结构在数学领域中有自己专门的分支——即图论,在离散数学中有过简单的了解。原创 2017-07-18 21:14:34 · 1363 阅读 · 0 评论 -
二叉树
几乎我们平常编程时所说的树,都是指的二叉树。原创 2017-07-16 07:57:39 · 1596 阅读 · 4 评论 -
字符串
在知道了字符串的定义之后,很多函数,如计算字符串长度,复制字符串,对字符串进行拼接、裁剪等操作函数的底层实现就多少都了解些了。原创 2017-07-13 21:38:54 · 636 阅读 · 0 评论 -
数组与矩阵
数组是我们比较常接触的一种数据结构了,就我们所了解的,数组从一维到多维不等,由数组演变出来的另一概念,被称之为矩阵,但是其实质还是一种有序的序列。原创 2017-07-11 15:02:18 · 1484 阅读 · 0 评论 -
线性表、堆栈以及队列
数据结构是计算机开发中最为重要的一门知识,可以说,只要是编程,就会用到数据结构。原创 2017-07-09 22:52:57 · 1944 阅读 · 0 评论