博客专栏  >  编程语言   >  数据结构与算法学习笔记

数据结构与算法学习笔记

本专栏主要是自己学习数据结构和算法的一些笔记,包括二叉树、链表、排序、查找等基本知识

关注
3 已关注
9篇博文
  • 【剑指offer】-从尾到头打印链表

    题目:输入一个链表,从尾到头打印链表每个节点的值。 解析:这道题目可以有很多种解法,下面介绍几种自己的解法。 1)利用栈的特性来做,把链表结点依次压入栈,再依次打印出来即可。 2)利用递归来做。...

    2015-11-02 22:01
    532
  • 【剑指offer】-替换空格

    题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解析:如果从前往后替换字符串中的空格,...

    2015-11-02 15:04
    883
  • 【剑指offer】-二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如:下面的数组  1   ...

    2015-10-31 11:04
    330
  • 【算法学习笔记】-排序算法

    排序算法常见的有:直接插入排序,归并排序,堆排序,快速排序和冒泡排序等。它们的性能如下表所示: 注:排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录...

    2015-08-25 16:54
    578
  • 【算法学习笔记】-二分查找算法

    二分搜索是一种常用的搜索方法,它要求数组中的元素必须是有序存放的。不失一般性,我们假定数组元素按升序存放。二分搜索方法首先将关键字与位于数组中央的元素进行比较,比较结果有三种情况: 1)如果关键字小...

    2015-08-25 17:28
    651
  • 【数据结构学习】-链表

    链表是一种数据结构,当要保存和管理的数据元素的数目变化较大时,使用链表效率会很高。在链表中,每个元素都保存在一个称为节点的数据结构中。当新的元素加入列表时,创建新的节点来保存元素,链表中所有节点通过指...

    2015-08-26 12:00
    786
  • 【数据结构学习】-二叉树的概念与遍历

    链表、栈或队列都是线性结构,包含一个数据元素序列。而二叉树是一种层次结构。一颗二叉树要么为空,要么由一个数据元素(称为跟)和两颗独立的二叉树(称为左子树和右子树)。某个节点的左(右)子树的根节点称为该...

    2015-08-27 12:05
    672
  • 【数据结构学习】-堆与堆排序

    堆是一种非常有用的数据结构,可用来设计高效的排序算法和优先队列。一个堆是一颗具有如下性质的二叉树:1)它是一颗完全二叉树;2)每个节点都大于等于其任何子节点。 如上图是一个最大堆,我们可以用...

    2015-08-27 16:30
    636
  • 【算法学习笔记】-动态规划

    动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)。在这种情况下,分治法会做许多不必要的工作,它会反复地求解那些公共子子问题。而动态...

    2015-09-11 18:44
    1111
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部