随笔分类 - 数据结构
摘要:很早接触过冒泡排序法,但一直没有真正的理解,只是为了记住而学习,今天又重新看了一下,其实冒泡排序法第一次排序会把最大的冒到最上面,第二次会把次大的泡冒到最大的后面,一次类推····,另外在排序的次数上会逐渐减少。看代码:void bubble_sort(int *a,int n){ for(int i=0;i<n;i++) for(int j = 1;j<n-i;j++) { if(a[j-1]>a[j]) swap(&a[j-1],&a[j]); }}其实还可以优化一下,当发现没有进行交换证明...
阅读全文
摘要:二叉树看到线索二叉树就翻不动了,准备学一个简单地查找-二分查找。二分查找思想就是每次查找范围缩半,范围怎么缩的半?,我们通过改变数组的下标上限值或下限值来完成的,我们来看代码:int binary_search (int *a,int n,int key){ int low=0; int height = n; int mid=n/2; while(low <= height) { mid = (low + height)/2; if(a[mid]<key) //使下限的值接近中间值 ...
阅读全文
摘要:最近有了大把的时间,学习了数据结构,在大学的时候就接触过数据结构,在现在那时只不过是为了考一个二级证,那时的概念只是背,但是一直不理解解,还好,我打算重走这段历史。回归正题:二叉树的概念二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(成为空二叉树),或者由一个节点和两棵不互相交的,分别称为根节点的左子树和右子树的二叉树组成。二叉树的特点每个结点最多有两棵子树左右子树是有顺序的,不能颠倒的即使子树只有一个结点,也要区分它是左子树还是右子树。特殊二叉树斜树 所有的结点都只有左子树的二叉树叫做左斜树。所有结点都只有右子树的二叉树叫做右斜树。这样二叉树的结点数与树的深度有关。 2. .
阅读全文

浙公网安备 33010602011771号