随笔分类 - 数据结构
发表于 2020-07-11 18:13阅读:240评论:0推荐:0
摘要:前序遍历的非递归实现 1 void PreOrder2(BTNode *root) { 2 BTNode *p = root; 3 stack<BTNode *> S; 4 while (p != NULL || !S.empty()) { 5 if (p) { 6 cout << p->val <
阅读全文 »
发表于 2018-12-01 22:20阅读:217评论:0推荐:0
摘要:int rangeMinQuery(int segTree[], int qlow, int qhigh, int low, int high, int pos) { if (qlow = high) return segTree[pos]; if (qlow > high || qhigh < low) return maxVal; i...
阅读全文 »
发表于 2018-11-28 22:04阅读:355评论:0推荐:0
摘要:Motivation: Given a 1D array of n elements. [2, 5, -1, 3, 6] range sum query: what's the sum from 2nd element to 4th element query(2, 4)? 5 + (-1) + 3
阅读全文 »
发表于 2018-10-06 22:03阅读:262评论:0推荐:0
摘要:origianl For the past few days, I’ve been reading various explanations of the Knuth-Morris-Pratt string searching algorithms. For some reason, none of
阅读全文 »
发表于 2018-09-25 17:19阅读:909评论:0推荐:0
摘要:本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode { ElementType Da
阅读全文 »
发表于 2018-09-25 17:04阅读:840评论:0推荐:0
摘要:本题要求实现一个函数,求链式表的表长。 函数接口定义: 其中List结构定义如下: L是给定单链表,函数Length要返回链式表的长度。 裁判测试程序样例: 输入样例: 输出样例: AC code:
阅读全文 »
发表于 2018-09-25 17:01阅读:1631评论:1推荐:1
摘要:本题要求实现顺序表的操作集。 函数接口定义: 其中List结构定义如下: 各个操作函数的定义为: List MakeEmpty():创建并返回一个空的线性表; Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR; bool I
阅读全文 »
发表于 2018-09-25 16:19阅读:3287评论:3推荐:0
摘要:本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrTo
阅读全文 »