- 博客(8)
- 收藏
- 关注
原创 Programming Assignment 3: Pattern Recognition
Point部分的代码没有什么难度,跟着题目的提示把垂直水平的情况写出来就好了,slopeTo函数写成大的点减去小的点(具体看代码),后面会比较好处理有关slope的问题。BruteCollinearPoints会有一些要注意的地方:在找CollinearPoints前,先把points按Poin.compareTo从小到大排序。first loop 只需要迭代到 len - 2,因为后面...
2019-03-12 22:44:11
304
原创 普林斯顿大学算法课:Nuts and bolts
题目思路 :从bolts中取出一个bolt 去 partition nuts 得到匹配的一对nut和bolt,nut在nuts中的索引为q,在nuts中,q左半部分为均为小于nuts[p]的N1, 右半部分为N2.拿nuts[q] partition bolts 得到bolt在bolts中的索引也为q,同上q左半部分为均小于bolts[q]的B1,右半部分为B2.同1和2的递归...
2019-03-08 22:31:39
1599
原创 普林斯顿大学算法课:Shuffling a linked list
题目随机排列链表,时间复杂度要求O(nlogn)。思路 : 在归并排序的基础上,每次merge操作将辅助数组中的元素随机归并回原数组。代码import java.util.LinkedList;import edu.princeton.cs.algs4.StdRandom;public class ShufflingaLinkedList { private st...
2019-03-03 17:13:55
561
原创 普林斯顿大学算法课: Counting inversions
题目:计算数组中的逆序对。时间复杂度要求O(nlogn)。思路 : 在merge sort 的同时计算逆序对的数量。merge sort的时间复杂度满足要求。merge过程可能遇到的情况:lo > mid :左半部分的数组已经归并完,由于右半部分的数组是已经排序好的,所以没有逆序对。rec > hi :如上同理。temp[rec] < temp[lo] :左边的元...
2019-03-03 16:53:27
985
原创 普林斯顿大学算法课:Merging with smaller auxiliary array
题目描述:归并排序需要一个额外的数组aux,大小与原数组的大小相等。题目要求aux数组的大小为原数组的一半便可以实现归并排序。思路: 数组aux只用来保存原数组的前一半元素,即[lo : mid], 另一半 [mid+1: hi]无需复制。merge过程遇到的可能情况:lo > mid : 左半部分的数组已经归并完毕,只剩下右半部分,由于右半部分已经在原数组,可以...
2019-03-03 16:38:01
396
原创 Programming Assignment 2: Deques and Randomized Queues
Dequeue双头链表思路:每个Node包含next和before用来实现addFirst,addLast,removeFirst, removeLast。每次增加删减操作都确保 first.before 和 last.next 为null。import java.util.Iterator;import java.util.NoSuchElementException;/...
2019-03-03 16:19:31
182
原创 Lowest Bit
思路一:最简单的做法,先将A转换为二进制保存在char数组,然后从最后开始迭代直到第一个1,再计算其值。思路二: 一个十进制的数A,转换为二进制的运算可以通过不停地令A/2,每次除以2会二进制数多一位,因此可以判断第一次A%2为1时,这个1就是最后的1。代码如下#include<stdio.h>int main() { int A; //A为0退出循环 ...
2019-02-23 23:17:02
666
原创 Coursera算法课Programming Assignment 1: Percolation
Percolation目标通过蒙特卡洛模拟来计算 percolation threshold即渗滤阈值。渗滤percolation渗滤是一个由绝缘体和金属随机分布的复杂系统。那么它的金属分布在什么情况下会导致它是一个导体。科学家定义了一个抽象的被称作percolation的过程来为这些情况建模。模型这个模型被定义为一个n*n的方格来表示。方格site有两种状态:阻塞block和打开op...
2019-02-11 22:04:19
463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人