随笔分类 - 算法相关
摘要:二叉树定义: 每个节点最多含有两个子树的树称为二叉树,通常子树被称作“左子树(left subtree)”和“右子树(right subtree)”,有左右之分,次序不能颠倒;二叉树分类: 1.完全二叉树:对于一棵二叉树,假设其深度为d(d>1)。除了第d层外,其它各层的节点数目均已达最大值,且第d层所有节点从左向右连续地紧密排列,这样的二叉树被称为完全二叉树; 2.满二叉树:对于...
阅读全文
摘要:定义: 树是一种数据结构,它是由节点组成的具有层次关系的集合。它具有以下的特点: 每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节点外,每个子节点可以分为多个不相交的子树术语: 度:一个节点含有的子树的个数称为该节点的度,一棵树中,最大的节点的度称为树的度; 层:从根开...
阅读全文
摘要:链表数据结构的特性: 1、链表的数据结构是线性结构的链表,但存储是非线性的,即离散存储; 2、链表的节点中通过指针相连,即每个节点记录下一个结点和上一个节点的指针; 链表数据结构的优点: 1、插入删除节点不需要移动元素,只需要修改相关指针即可; 2、不需要分配固定的连续空间,空间利用率高; 链表数据结构的缺点: 1、无法实际随机访问节点; 2、查找和搜索节点的效率低; 如Java中L...
阅读全文
摘要:基于锁的同步方式,是一阻塞的线程间同步方式,不同线程在锁竞争时,总不能避免相互等待,为了避免这个问题,就提出了非阻塞同步的方式,最简单的一种非阻塞同步实现就是ThreadLocal。另一种方式就是基于比较并交换(Compare And Swap)CAS算法的无锁并发控制方法。 CAS算法的是有3个值配合完成的,一个表示要更新的变量,一个表示预期的值,一个表示新值,如果要更新的变量与预期值不同则说...
阅读全文

浙公网安备 33010602011771号