数据结构
@司马懿
越努力越公平!
展开
-
3.常见的数据结构
List集合java.util.List是Collection接口的子接口特点它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。...原创 2018-08-05 21:02:49 · 485 阅读 · 0 评论 -
二分法
public static void advanceInsertSortWithBinarySearch(int[] arr) { for (int i = 1; i < arr.length; i++) { int temp = arr[i]; int low = 0, high = i - 1; int mid = -1;...原创 2018-12-27 19:42:22 · 172 阅读 · 0 评论 -
创建链表伪代码
Status GetElem_L(LinkList L, int i, ElemType &e){ //L 为头指针,i为要获得的位置; p = L ->next; j = 1; while( p && j <i ){ p = p -> next; ...原创 2018-12-27 19:44:16 · 2166 阅读 · 0 评论 -
二叉树的先序遍历伪代码
先序遍历:先访问根节点,然后遍历左子树,最后遍历右子树a) 递归算法void preorder_traverse(const struct bi_tree *tree) { if (tree) { /* 访问根节点*/ access(tree->data); if (tree->left) { ...原创 2018-12-27 19:45:52 · 2546 阅读 · 1 评论 -
快速排序
关于这个快速排序,最重要的是这个基准数的选取,如果基准数的选取合理的话,那么整个排序的速度将会提高很多,如果选取的不好了,也就是不均衡了,那么这个基准数将会影响整个数集的排序机制。所以在某一方面的话,归并排序也可以弥补一下这个快速的排序的缺点。但是这个归并排序也不一定是最快的,这个要看这一排的数据有什么规律。具体 情况具体分析。原理其实很简单:分别从初始序列“6 1 2 7 9 3...原创 2018-12-22 21:48:16 · 271 阅读 · 0 评论 -
二叉树的遍历
先序排列:关于这个二叉树:上图用先序排列的话,是:A B D F E C G H I中序排列:这个是中序排列:是:D B E F A G H C I分析:首先按照访问节点的顺序去说:我们先定义一个flag,我们让这个flag去做一个游标,后序排列:规则就是:根据节点判断,访问到底部,如果没有左右下节点了,则输出这个数,所以A是最后输出。...原创 2018-12-22 22:13:47 · 129 阅读 · 0 评论 -
递归阶乘
递归阶乘n!=n*(n-1)*(n-2)*....*1(n>0)int recurisive (int i){ if(0==i){ return (1); } else{ return i*recurive(i-1); }}原创 2019-01-03 21:50:17 · 150 阅读 · 0 评论 -
选择排序
以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列: 初始序列:{49 27 65 97 76 12 38} 第1趟:12与49交换:12{27 65 97 76 49 38} 第2趟:27不动 :12 27{65 97 76 49 38} 第3趟:65与38交换:12 27 38{97 76 49 65} 第4趟:97与49交换:12 27 38 49{...原创 2018-12-24 19:59:53 · 129 阅读 · 0 评论