数据结构和算法-ds
文章平均质量分 50
数据结构和算法相关编程题
_Song_
zju-cs-20-song
展开
-
ZJU PTA ds 7-1 Hashing - Hard Version
However, now you are asked to solve the reversed problem: reconstruct the input sequence from the given status of the hash table. Whenever there are multiple choices, the smallest number is always taken.原创 2022-01-12 17:24:40 · 1148 阅读 · 0 评论 -
ZJU PTA ds 6-1 Iterative Mergesort
How would you implement mergesort without using recursion?原创 2022-01-12 17:13:45 · 729 阅读 · 0 评论 -
ZJU PTA ds 6-1 Strongly Connected Components
Write a program to find the strongly connected components in a digraph.原创 2022-01-12 17:03:35 · 2686 阅读 · 0 评论 -
ZJU PTA ds 7-1 Hamiltonian Cycle
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle".原创 2022-01-12 15:43:43 · 1041 阅读 · 0 评论 -
ZJU PTA ds 6-1 Is Topological Order
Write a program to test if a give sequence Seq is a topological order of a given graph Graph.原创 2022-01-12 15:32:07 · 805 阅读 · 0 评论 -
ZJU PTA ds 7-1 File Transfer
7-1 File TransferWe have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to any other?原创 2022-01-12 15:21:09 · 346 阅读 · 0 评论 -
ZJU PTA ds 7-1 Complete Binary Search Tree
7-1 Complete Binary Search TreeA Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains原创 2022-01-12 14:55:14 · 529 阅读 · 0 评论 -
ZJU PTA ds 6-1 Percolate Up and Down
Percolate Up and DownWrite the routines to do a “percolate up” and a “percolate down” in a binary min-heap.Format of functions:void PercolateUp( int p, PriorityQueue H );void PercolateDown( int p, PriorityQueue H );where int p is the position of the原创 2022-01-12 14:43:37 · 1013 阅读 · 0 评论 -
ZJU PTA ds 7-1 Pop Sequence
7-1 Pop SequenceGiven a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is原创 2022-01-12 14:36:37 · 292 阅读 · 0 评论 -
ZJU PTA 6-1 Add Two Polynomials
6-1 Add Two Polynomials (10 point(s))Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by an empty list with only the dummy head node.Forma原创 2022-01-12 14:33:39 · 767 阅读 · 0 评论 -
力扣(LeetCode)142.环形链表二(Linked List Cycle two)
142. Linked List Cycle II没看题解时,我想到的是配合141题的查找是否有环,如果有,再遍历每个元素。依据是:如果有一个环,将快慢指针设置在入环处,那么快慢指针下一个(或者N次)相遇必定也在入环处。于是开始写出来的是时间复杂度比较差的算法。bool hasCycle(struct ListNode *head) { if(head == NULL) return false; struct ListNode *slow = head, *fast.原创 2021-02-22 15:23:07 · 104 阅读 · 0 评论 -
力扣(LeetCode)141.环形链表(Linked List Cycle)
Given head, the head of a linked list, determine if the linked list has a cycle in it.There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Internally, pos is used to deno原创 2021-02-19 15:33:58 · 154 阅读 · 0 评论 -
力扣(LeetCode)206. 反转链表(Reverse Linked List)
206. 反转链表(Reverse Linked List)原创 2021-02-18 16:24:17 · 203 阅读 · 0 评论 -
力扣(LeetCode)59. Spiral Matrix II(螺旋矩阵2)
/** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */int** generateMatrix(int n, int原创 2021-02-17 19:06:43 · 122 阅读 · 0 评论 -
力扣(LeetCode)209 长度最小的子数组 Minimum Size Subarray Sum
209 长度最小的子数组 Minimum Size Subarray Sum看完这个题直接想到的是三层循环,先固定长度,再遍历,原谅我的愚蠢,我内心也觉得这个很可怕,然后写出来超时了。然后看了有n的平方,然后想到可以先固定起始位置,再遍历,边遍历边检验:int minSubArrayLen(int target, int* nums, int numsSize){ int i, sum, j, minSublen = numsSize+1; for(i = 0; i < nu.原创 2021-02-15 22:12:04 · 240 阅读 · 0 评论 -
浙江大学 PTA 数据结构与算法 最大子列和问题
7-1 最大子列和问题 (20 point(s))给定K个整数组成的序列{ N1 , N2 , …, NK },“连续子列”被定义为{ Ni , Ni+1 , …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同.原创 2021-02-04 16:21:06 · 375 阅读 · 0 评论 -
浙大大学 PTA 数据结构和算法 顺序表操作集
6-2 顺序表操作集 (20 point(s))本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty();Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode List;st原创 2021-02-03 18:19:56 · 1312 阅读 · 0 评论 -
数据结构和算法之最大子列和问题
最大子列和问题/*算法一:暴力穷举*/int MaxSubseqSum1( int A[] , int N ){ int ThisSum,MaxSum = 0; int i,j,k; for( i= 0;i<N;i++) for(j=i;j<N;j++){ ThisSum = 0; for(k=i;k<=j;k++) ThisSum+=A[k]; .原创 2021-02-02 17:04:22 · 107 阅读 · 0 评论 -
C语言 计算给定多项式在给定点x的值
计算给定多项式在给定点x的值对比所用的两种方法double f1(double a[],int n,double x){ double result; result=a[0]; int i; for(i=1;i<n;i++){ result+=a[i]*power(x,i); } return result; }/////***************************////////double f2(do.原创 2021-02-01 21:15:13 · 1572 阅读 · 0 评论