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的概念及用途,添加删除结点的原理。

  • 相关阅读:
    15. DML, DDL, LOGON 触发器
    5. 跟踪标记 (Trace Flag) 834, 845 对内存页行为的影响
    4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
    14. 类似正则表达式的字符处理问题
    01. SELECT显示和PRINT打印超长的字符
    3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息
    2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果
    1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式
    0. 跟踪标记 (Trace Flag) 简介
    SpringBoot + Redis + Shiro 实现权限管理(转)
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4449420.html
Copyright © 2011-2022 走看看