数据结构:包括逻辑结构、数据的存储结构和数据的运算三个方面,即涉及数据之间的的逻辑关系、数据在计算机中的存储方式和在这种数据结构上的一组操作三个方面。
线性结构:满足全序性和单索性等约束条件的有向关系。全序结构的全部结点两两皆可以比较前后;单索性是指,每一个结点x都可以存在唯一的一个直接后继结点y。树形结构,也称树结构,是一种层次结构,其关系r成为层次关系或“父子关系”。树形结构的最高层次的结点成为根节点(root),只有它没有父节点。树形结构存在很多变种,如二叉树,堆结构等,它们都有各自独特的应用。图结构也称为网络结构,其关系没有任何约束。
算法的一般性质为:通用性、有效性、确认性、有穷性、穷举性、贪心法、分治法、回朔法、动态规划法、分支界限法
贪心法: 基本思想是视图通过局部最优解得到全局最优解
回朔法: 基本思想是一步一步向前试探,有多种选择时任意选择一种,只要可行就继续向前,一旦失败时就后退回来选择其他可能性
分治法: 基本思想是把一个大规模的问题划分成相似的小问题,各个求解,再得到整个问题的解
动态规划法: 基本思想是把大问题分解为若干小问题,通过求解子问题来得到原问题的解,由于这些子问题相互包含,为了复用已计算的结果,常把计算的中间结果全部保存起来,自底向上多路径地求解计算原问题的解
评价一个算法优劣的重要性的重要依据是渐进分析实现该算法的程序在计算机中执行时所需占用的机器资源的多少,两个重要指标为算法的空间代价(或称空间复杂度)和算法的时间代价)或称时间复杂度