
数据结构
文章平均质量分 73
Y_ZhiWen
一个奔跑着的青年
展开
-
位运算基础及简单运用
基础1.运算符高位丢弃,低位补0>> x : 右移运算符,将二进制数右移x位,&:与原创 2015-11-16 12:58:55 · 885 阅读 · 0 评论 -
位运算的运用
如果一个数组中的数组成对出现,怎么快速查找一个数组中唯一出现一次或出现奇数次的数字思路:通过位运算的异或的性质 相同两个数异或为0与0异或的数结果不变异或满足乘法交换律int search(int a[],int len){ int num = 0; for(int i = 0; i < len; i++){ num ^= a[i];// 通过不断的异或操作原创 2015-11-17 15:51:38 · 748 阅读 · 0 评论 -
树 -- 二叉树遍历方法思路大总结(10种方法)
遍历是二叉树的一类重要操作,也是二叉树的其它操作二叉树(Binary Tree)定义:含有n(n>=0)个结点的有限集合。当n=0时为空二叉树, 在非空二叉树中:有且仅有一个根结点;其余节点划分为两互不相交的子集L和R,其中L和R也是一棵二叉树,分别称为左子树和右子树术语(部分) 层次:根为第1层,根的孩子为第2层,依次计数深度(高度):最大层次称为高度度:结点的孩子个数内部结点(分支结点):非叶子结原创 2015-11-30 00:16:48 · 1201 阅读 · 0 评论 -
排序 -- 思路简析(二)
简介本篇文章总结一下最近学习的排序算法,提炼出其思想及不同之处。有直接插入排序,希尔排序,选择排序直接插入排序(Insert Sort)每次将无序区的第一个记录按关键字插入到有序区的合适位置,并将有序区长度加一// 将a[0..len]进行插入排序,0号单元为哨兵 void InsertSort(int a[],int len){ int i,j; // i标记有序区的最后一个位原创 2016-01-03 10:45:06 · 843 阅读 · 0 评论 -
树 - B树的简单实现
二叉查找树和平衡二叉树都是典型的二叉查找树结构,其查找的时间复杂度与树的高度相关,降低树的高度自然对查找效率有所帮助,B树正是这样的树。定义一棵m阶B树,或为空树,满足以下特性:树中每个结点最多有m棵子树若根结点不是叶子节点,则至少有2个子树除根结点之外的所有非终端结点至少有⌈m/2⌉\lceil m/2 \rceil棵子树每个非终端结点中包含信息(n , A0 , K1 , A1 , K2原创 2015-12-22 14:58:46 · 790 阅读 · 0 评论 -
排序 -- 思路简析(一)
简介本篇文章总结一下最近学习的排序算法,提炼出其思想及不同之处。有归并排序,快速排序,堆排序以及冒泡排序归并排序(Merging Sort)归并是指将两个或两个以上的有序表组合成一个新的有序表。归并排序是指把无序的的待排序序列分解成若干个有序子序列,并把有序子序列合并为整体有序序列的过程。长度为1的序列是有序的。采用两两分解和归并的策略简单易行,这样的归并排序称为2-路归并排序。归并排序的实原创 2015-11-26 16:34:12 · 2296 阅读 · 4 评论