zoukankan      html  css  js  c++  java
  • 算法基础和数据结构

    算法基础

    1.算法的几个特征

      有穷性、确定性、输入、输出、可行性

    2.算法的复杂性定义

    3.递归算法的定义、递归算法的两要素

      定义:一种直接或者间接调用自己的算法

      两要素:

        ①终止条件

        ②每次调用的时候,范围会缩小

    4.分治算法的思想,经典的分治算法(全排列、二分搜索、归并排序、快速排序、线性时间选择、最接近点对问题)

      分治算法,就是分而治之,将复杂问题分解成简单问题解决

    5.动态规划算法的解题框架?动态规划算法的两个要素?备忘录方法?

      动态规划和递归类似,但是用备忘录保存中间结果,以免重复计算

      两要素:

        ①保存中间结果

        ②递归关系式

    6.经典动态规划问题(矩阵连乘问题、最长公共子序列问题、0-1背包问题)

    7.贪心算法思路,贪心算法的两个要素

    8.经典的贪心问题(活动安排问题、背包问题、装载问题、哈夫曼编码、单源最短路径、最小生成树问题)

    9.回溯法的思想,回溯法中有哪两种典型的模型

    10.经典的回溯算法(n后问题、0-1背包问题、旅行售货商问题)

    11.分支限界法思想,有哪两种分支限界法

    12.经典的分支限界算法(0-1背包问题、旅行售货商问题)

    数据结构

    1.数据结构定义

      数据元素的集合 + 数据元素之间关系的集合

    2.栈的两个应用:括号的匹配和表达式的计算。是怎么应用的?表达式计算用的是哪种表达方式?有什么好处?

    3.字符串匹配算法:朴素的匹配算法、KMP算法

    4.二叉树的前序、中序、后序递归遍历算法,二叉树前序非递归遍历算法

    5.堆,建堆算法,堆的插入和删除算法,堆排序

    6.哈希,哈希函数有哪些种,余数的取法,处理冲突的方法,闭散列方法有哪些?

    7.二叉搜索树的搜索、插入、删除。时间复杂度

    8.二叉平衡树的插入结点的原理,有哪几种旋转方式?分别适用于哪种情况。分析二叉平衡树的时间复杂度

    9.红黑树的定义,红黑树的性能分析和与二叉平衡树的比较。

    10.图有哪些存储表示

    11.链表插入排序,链表归并排序

    12.常见的有哪几种排序算法,试比较其时间复杂度,以及是否稳定,及各自使用的情形

    13.常用分配排序有哪几种? 基数排序的定义,分类及原理。

    14.外部排序的过程。

    15.B树、B+树、Trie的概念及用途,添加删除结点的原理。

  • 相关阅读:
    xudyh的gcd模板
    [转]vi command summary
    Uva11538 排列组合水题
    html中的块与布局
    使用bootstrap-table插件
    2015 10月16日 工作计划与执行
    2015 10月15日 工作计划与执行
    2015 10月14日 工作计划与执行
    2015 10月13日 工作计划与执行
    2015 10月12日 工作计划与执行
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4449420.html
Copyright © 2011-2022 走看看