
算法和数据结构
算盘
喜欢徒步,喜欢读书
展开
-
常用位运算
1.按位与(&) 1&1=1 0&0=0 1&0=02.按位或(|) 1|1=1 0|0=0 1|0=13.按位非(~) ~1=0 ~0=14.按位异或(^) 1^1=0 1^0=0 0^0=0 任何一个数和自己异或结果一定是05.有括号右移>>(若正数,高位补0,负数,高位补1)6.有符号左移<<7.无符号右移>>>(不论正负,高位均补0)...原创 2022-02-17 22:51:34 · 213 阅读 · 0 评论 -
几种查找算法
1.顺序查找2.二分查找3.插值查找4.斐波那契查找5.树表查找6.分块查找7.哈希查找原创 2022-02-02 22:32:57 · 619 阅读 · 0 评论 -
二叉树性质
1、在二叉树的第i层最多有2^(i-1)个结点(i>=1)2、深度为k的二叉树最多有2^k - 1个结点3、对于一完全个二叉树,假设它有n个结点,对结点进行从1开始编号,对任一结点i满足下面a、它的双亲是结点i/2(除了i=1的情况)b、左孩子是2i,右孩子是2i+1c、如果2i>n说明无左孩子,2i+1>n说明无右孩子...原创 2022-01-19 14:11:43 · 680 阅读 · 0 评论 -
汉诺塔问题
移动n个圆盘1、把n-1个圆盘从A柱子经过C柱子移动到B柱子2、把第n个圆盘从A柱子移动到C柱子3、把n-1个圆盘从B柱子经过A柱子移动到C柱子def hanoiAlgorithm(n, a, b, c): if n > 0: hanoiAlgorithm(n - 1, a, c, b) print("moving from %s to %s" % (a, c)) hanoiAlgorithm(n - 1, b, a, c)...原创 2021-08-19 06:48:07 · 167 阅读 · 0 评论 -
二叉树的顺序存储方式
1、父节点和左孩子节点的编号下标有什么关系?—— 0——>1 1——>3 3——>7 4——>9—— i——>2i+12、父节点和右孩子节点的编号下标有什么关系?—— 0——>2 1——>4 2——>6 3——>8 4——>10—— i——>2i+2...原创 2021-08-15 21:39:28 · 178 阅读 · 0 评论 -
递归需要遵守的重要原则
1、执行一个函数时,就创建一个新的受保护的独立空间(新函数栈)2、函数的局部变量是独立的,不会相互影响3、递归必须向退出递归的条件逼近,否则就是无限递归4、当一个函数执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当函数执行完毕或者返回时,该函数本身也会被系统销毁...原创 2021-02-02 16:11:24 · 729 阅读 · 0 评论 -
二叉搜索树
二叉搜索树(英语:Binary Search Tree),也称有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一颗空树或者具有下列性质的二叉树:1、左子树上所有结点的值均小于它的根结点的值;2、右子树上所有结点的值均大于它的根结点的值;3、Recursively,左、右子树也分别为二叉搜索树;...原创 2020-05-10 16:07:25 · 175 阅读 · 0 评论 -
数据结构分类(Data Structure)
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构(Structure)。根据数据元素之间关系的不同特性,通常有4类基本数据结构:(1)集合(Set):该结构中的数据元素除了存在“同属于一个集合”的关系外,不存在任何其它关系。(2)线性结构(Linear Structure):该结构中的数...原创 2020-03-08 22:36:02 · 701 阅读 · 0 评论