摘要:
单链表,双向链表实现逆序,C++代码,供大家参考。 一般Node用struct定义,我这用的class. void reverseList_main()为主函数。 class Node {public: int m_value; Node *next; //构... 阅读全文
posted @ 2020-02-05 09:57
jasmineTang
阅读(93)
评论(0)
推荐(0)
摘要:
堆,逻辑上是一个完全二叉树,实现是一个数组。时间复杂度O(N*logN)。二叉树的高度就决定了O(logn)这个结论。 堆两个操作:1.heapInsert() 加一个新值到堆里 ,值与父比,如果大则交换位置。 2.... 阅读全文
posted @ 2020-02-05 09:57
jasmineTang
阅读(73)
评论(0)
推荐(0)
摘要:
与荷兰国旗相比,归并主要是二分。 1.分左右,[left-mid],[mid+1,right], 2.两边Merge,就是分别取数,比小后放入辅助数组中,以上两步不停递归, 3.basecase为left==right,最后完成排序。 ... 阅读全文
posted @ 2020-02-05 09:57
jasmineTang
阅读(89)
评论(0)
推荐(0)
摘要:
堆,逻辑上是一个完全二叉树,实现是一个数组。时间复杂度O(N*logN)。二叉树的高度就决定了O(logn)这个结论。 堆两个操作:1.heapInsert() 加一个新值到堆里 ,值与父比,如果大则交换位置。 ... 阅读全文
posted @ 2020-02-05 09:57
jasmineTang
阅读(53)
评论(0)
推荐(0)
摘要:
应用中对于系统函数,比如sort,默认是从小到大的排序,现在我想让它从大到小的排序,我该怎么做呢? 或者我有一组对象,学生,有学号、年龄、分数等属性,我一会想按学号排,一会想按年龄排,一会想按分数排,如何做呢?JAVA中叫比较器,C++中叫... 阅读全文
posted @ 2020-02-05 09:56
jasmineTang
阅读(66)
评论(0)
推荐(0)
摘要:
把一个数组分为三个部分,像荷兰的三色旗一样。分别为>、=、p右边// 返回值:长度为2的数组,区域的左边界,右边界//如果无等 返回值 左>右// 区下标 more, index 当前位置下标int[] partition(int[] arr,int L... 阅读全文
posted @ 2020-02-05 09:56
jasmineTang
阅读(133)
评论(0)
推荐(0)
摘要:
写了一个算法,我怎么验证我的算法对不对呢?写个小程序测试一下。这就是对数器。 过程基本就是四步: 1.设定测试次数 2.测试输入:2.1产生随机数组 数值范围 数值个数范围 2.2copy出来一份,内存地址不一样... 阅读全文
posted @ 2020-02-05 09:56
jasmineTang
阅读(144)
评论(0)
推荐(0)
摘要:
冒泡、选择、插入、堆排、归并、荷兰国旗、快排等都是基于比较的排序。桶排是根据数据状况做的计数排序,在range少,比如年龄(1-200),数据多的时候非常好用。如果你理解词频统计,那么就能理解什么是桶排。时间复杂度为O(N)。 步骤: 1.... 阅读全文
posted @ 2020-02-05 09:56
jasmineTang
阅读(152)
评论(0)
推荐(0)

浙公网安备 33010602011771号