博客专栏  >  编程语言   >  数据结构和算法

数据结构和算法

数据结构和算法乃是程序员内功修炼的大乘佛法,决定你在能在行业中走多远,虽然在工作中未必能用的着,但是当遇到瓶颈时可以给你另一种思路。

关注
2 已关注
55篇博文
  • 数据结构与算法——二叉排序树详解以及代码实现

    二叉排序树介绍 我们知道二叉树,每个结点最多有2棵子树,被称为左子树 和 右子树。 二叉排序树,显然也是一颗二叉树,它有更突出的特性在数据域上呈现排序的特性。 在二叉排序树中,每个树的左子树的数...

    2018-04-25 23:00
    42
  • 数据结构与算法——图解平衡二叉树及代码实现

    平衡二叉树介绍 平衡二叉树,是一种二叉排序树,其中每一个节点的左子树和右子树的高度差最多等于1。由3位科学家共同发明,用他们首字母命名 又被称为AVL树。从平衡二叉树的名称,你也可以体会到它是一种高...

    2018-04-28 17:36
    30
  • Go语言编程:Go语言实现快速排序算法

    前言今天用Go语言实现下经典排序算法——快速排序算法。主要是学习了Go语言,得用它来干点事情嘛,就用快速排序来练手。在Go语言语法方面,主要用到 切片数组,for循环(Go语言没有while循环),递...

    2018-04-08 23:09
    51
  • 查找算法:折半查找算法实现及分析

    折半查找算法介绍折半查找(Binary Search)又称为二分查找。它的前提是线性表中的记录必须是关键码有序(通常从小到大有序),线性表必须采用顺序存储。从算法名称可以看出算法的思路,先取有序序列中...

    2018-02-27 19:44
    54
  • 查找算法:插值查找算法实现及分析

    插值查找算法介绍插值查找(Interpolation Search)是根据要查找关键字key与查找表中最大最小记录的关键字比较后的查找方法,其核心就在于插值的计算公式key-arr[low]/arr[...

    2018-02-27 20:19
    46
  • 查找算法:斐波那契查找算法实现及分析

    斐波那契查找算法介绍斐波那契查找法肯定与斐波那契相关嘛,斐波那契数列 又称黄金分割数列。所以我们先把黄金分割弄懂,后面代码才能看得懂!黄金分割点大家都知道吧。1:0.618或者1.618:1,我们的斐...

    2018-02-27 23:37
    46
  • 排序算法:快速排序算法实现及分析(递归形式和非递归形式)

    快速排序算法介绍从名字上就可以看出快速排序算法很嚣张,直接以快速命名。确实快速排序 的确很快速,被列为20世纪十大算法之一。程序员难道不应该掌握么。快速排序(Quick Sort)的基本思想是:通过一...

    2018-02-27 13:12
    61
  • 栈应用:判断字符串中括号是否成对出现

    练习题目利用栈先将后出的特性,判断字符串中的数字表达式括号是否成对匹配,如果没有给出错误位置信息提示。代码实现代码思路很简单,如果是左括号将左括号 就入栈,遇到右括号 栈中的左括号出栈。如果该出栈的时...

    2018-02-25 00:36
    117
  • 线性表:顺序队列算法实现

    顺序队列介绍顺序队列是队列的顺序存储结构,顺序队列实际上是运算受限的顺序表。我们知道队列是一种先将先出的数据结构,它是一种受限制的线性表,我们的顺序队列是一种队列,采用的是顺序存储结构。与其对应的是采...

    2018-02-25 22:47
    55
  • 排序算法:归并排序算法实现及分析

    归并排序算法介绍归并排序(Merging Sort)就是利用归并的思想实现排序的放。它的原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长...

    2018-02-25 00:12
    76
  • 树:二叉树的层序遍历算法(超简洁实现及详细分析)

    实现思路我们来看看下图的二叉链表 如何实现层序遍历。层序遍历顺序:ABECDGA为B、E的双亲结点,遍历顺序是 根->左->右 是不是。而且每个结点都是这样的遍历顺序 有木...

    2018-02-26 00:30
    284
  • 线性表:链栈算法实现

    链栈介绍链栈也是我们所说的采用链式存储结构的栈。往往通过单链表的方式来实现,使用链式栈的优点在于它能够克服用数组实现的顺序栈空间利用率不高的特点,但是需要为每个栈元素分配额外的指针空间用来存放指针域。...

    2018-02-25 23:13
    30
  • 线性表:链式队列算法实现

    链式队列介绍队列是一种受限制的线性表,有先进先出的特性。那么既然是线性表那肯定对应有2种不同的存储结构咯。链式队列呢,就是采用链式存储结构构成的队列。所以呢本次编写链队列呢 采用以前写的企业级单链表形...

    2018-02-25 23:34
    47
  • 线性表:顺序栈算法实现

    顺序栈介绍顺序栈就是用顺序存储结构构成的后进先出这样结构的栈。一般我们用数组来进行模拟。为了让后顺序栈更通用呢,我们还是在数据类型上使用void*,我们只负责维护用户提供的数据的地址就行了,不负责用户...

    2018-02-25 00:24
    57
  • 线性表之顺序存储结构相关算法学习

    作为一名准备干一辈子的程序员,学习算法还是很有必要的。所以从基础开始了。学习教材 是大话数据结构。 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。代码 参照教材 采用...

    2017-12-17 07:07
    92
  • 静态链表相关算法学习

    大话数据结构学习笔记—静态链表学习 c语言真是好东西,它具有指针能力,使得它可以非常容易地操作内存中的地址和数据,这比其他高级语言更加灵活方便。 后来的面向对象的语言,如java、C#等,虽然不使...

    2017-12-19 23:35
    92
  • 线性表之链式存储结构_单链表相关算法

    在存储结构上,不需要连续的存储空间,需要上一个结点的指针域 指向下一个结点即可,找到一个结点就可以找到下一个结点。 学习教材是大话数据结构,加上自己的一些个人理解。这个算法 有点绕,需要对指针 相关...

    2017-12-18 08:02
    85
  • 栈的顺序存储及实现(一)

    继续学习数据结构,今天我们来学习栈的相关知识。其实学习没有捷径,如果抱着一种吃快餐的态度进行学习,那是学不到东西,各种技术都是浅尝辄止,那注定学习是不会有太大的效果。不知道你们讨不讨厌 某某语言从入门...

    2017-12-23 23:40
    116
  • 两栈共享存储空间算法

    我们知道栈是一种先进后出的结构,我们用顺序存储结构进行实现,也是很方便的,唯一的缺陷就是必须事先确定数组存储空间大小,万一不够用了,就需要编程手段扩展数组容量,非常麻烦。对于一个栈,我们只能经理设计出...

    2017-12-26 07:50
    181
  • 栈的链式存储结构及实现

    今天学习栈的链式存储结构。 链式存储结构最大的好处就是没有空间的限制,通过指针指向将结点像一个链子一样把结点链接,那么栈的同样可以用于链式存储结构。 栈的链式存储结构,简称为链栈。想想看,栈只是栈...

    2017-12-26 10:43
    116
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部