博客专栏  >  综合   >  数据结构与算法

数据结构与算法

数据结构与算法是衡量一个工程师的内功的必备知识,也是进BAT面试的必考知识。本专栏详细讲解常用的数据结构与算法,如排序,二叉树,链表,栈,队列等。

关注
41 已关注
12篇博文
  • 螺旋数组

    要求:螺旋数组是指将给定的存储连续自然数的二维数组中的数字从最外层开始以顺时针形式输出 如:二维数组为  {{1,2,3,4},    {5,6,7,8},  {9,10,11,12}, {...

    2016-03-11 15:57
    14131
  • 打印二叉树和为某一值的路径

    要求:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的 节点形成一条路径。二叉树的节点定义如下: struct BTNode { ...

    2016-03-16 20:39
    2008
  • 字符串的组合

    要求:输入一个字符串,输出该字符串的所有组合。如:若字符串为:abc,则应输出:(空集),a、b、c、ab、ac、bc、abc. 思路:考虑到数学中的排列组合知识,我们知道所谓组合即是在字符串中选取...

    2016-03-17 16:32
    2529
  • 字符串的排列

    要求:输入一个字符串,打印出该字符串中的字符的所有排列。如:输入字符串abc,则打印出abc,acb,bac,bca,cab,cba. 思路:我们可以把一个字符串看成是两部分组成:第一部分为它的第一...

    2016-03-17 17:10
    26726
  • 求连续子数组的最大和

    要求:输入一个整型数组,数组里有正数也有负数,数组中一个或连续的多个整数构成一个子数组,求所有子数组的和的最大值。 如:输入的数组为{1,-2,3,10,-4,5,1,-5},则输出结果为15. 思路...

    2016-03-09 16:02
    757
  • 【数据结构课程大作业】通信录管理系统

    该软件为本人数据结构课程设计作业,采用win32控制台程序,基于链表的增删改查,可供计算机专业在校大学生作为数据结构课程设计参考 每次使用需输入密码,初始密码为:123。可在软件主界面选择修改密码功能...

    2016-03-10 14:45
    33158
  • 字符串的n位左旋

    要求:将主串的某一段(n位)翻转到主串的最后,如:abcdef以2位翻转则结果为:cdefab。要求时间复杂度为O(n),空间复杂度为O(1) 思路一:可以重新定义一个与原串相同大小的字符数组resu...

    2016-03-10 21:59
    858
  • 二叉树的递归与非递归

    要求:给定一个二叉树序列,要求以递归与非递归的形式先序输出。 递归的本质就是系统自动用系统工作栈来将参数入栈与出栈,所以递归化与非递归就是程序员自己来控制参数的入栈与出栈,可用循环加自定义栈来控制。 ...

    2016-03-11 16:06
    1023
  • 数据结构排序算法之堆排序

    关于堆排序的相关知识非常复杂,不懂得可以参考任意一本数据结构教程,本博客只对堆排序框架及代码进行讲解。 堆排序分三个大的步骤:建初堆,堆调整,堆排序(其中最核心的是堆调整) 1建初堆:从数组中的最后一...

    2016-03-11 16:45
    28900
  • 顺时针打印数组

    要求:输入一个矩阵,按照从外向里以顺时针的顺序打印出每一个数字。如:如果输入的矩阵为: 1   2   3    4 5   6   7    8 9  10 11  12        13 14 ...

    2016-03-16 18:35
    28948
  • 【数据结构排序算法系列】数据结构八大排序算法

    排序算法在计算机应用中随处可见,如Windows操作系统的文件管理中会自动对用户创建的文件按照一定的规则排序(这个规则用户可以自定义,默认按照文件名排序)因此熟练掌握各种排序算法是非常重要的,本博客将...

    2016-03-25 22:36
    93460
  • 【二叉树系列】二叉树课程大作业

    本博客将以代码的形式详细讲解二叉树的所有算法,包括创建二叉树,二叉树的三种遍历方式,二叉树的各种属性算法,如:求高度,求叶子节点数,求节点数,以及二叉树最常见的应用哈夫曼树,代码如下: # inclu...

    2016-03-26 16:21
    67268
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部