随笔分类 - 算法与数据结构
摘要:尊重版权,感谢原作者的贡献。一、预备知识(一)程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就是放
阅读全文
摘要:(一)二叉树的概念: 二叉树是数结构的一种,特指每个节点最多有两个子树的树结构,即节点的度,通常情况下,子树被称为“左子树”和“右子树”,一个简单的二叉树结构如图1所示,该结构常被用于“二叉查找树”和“二叉堆”。图1 简单的二叉树树和二叉树的三个主要差别:树的结点个数至少为1,而二叉树的结点个数可以为0;树中结点的最大度数没有限制,而二叉树结点的最大度数为2;树的结点无左、右之分,而二叉树的结点有左、右之分。满二叉树与完全二叉树:满二叉树:一棵深度为k,且有个节点成为满二叉树,这种树的特点是每一层上的节点数都是最大节点数;完全二叉树:深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度.
阅读全文
浙公网安备 33010602011771号