反转整个链表 题 代码 123456789101112131415struct ListNode* ReverseList(struct ListNode* pHead ) { // write code here if(pHead==NULL){ return NULL; } struct ListNode* pre=NULL; s 2023-04-10 #newcoder
链表内指定区域反转 [题](链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com)) 代码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455/** * struct ListNode { * int val; * struct List 2023-04-10 #那些年刷过的算法题
树和二叉树 [TOC] 树和二叉树树的基本 一个根和若干的子树 基本术语 树的类别 有序树 子树有位置要求 无序树 子树无要求 意思是:1,2,3,这三颗子树,无论如何排列都是一个树 森林 树和线性结构的比较 树是一对多 线性结构是一对一 二叉树 每个节点最多有两个度 二叉树是个有序树(但是不是树的特殊情况) 二叉树可以是一 个空集 二叉树必须要分左子树还是右子树,即使只 2023-04-05 #数据结构和算法
树和二叉树 [TOC] 树和二叉树树的基本 一个根和若干的子树 基本术语 树的类别 有序树 子树有位置要求 无序树 子树无要求 意思是:1,2,3,这三颗子树,无论如何排列都是一个树 森林 树和线性结构的比较 树是一对多 线性结构是一对一 二叉树 每个节点最多有两个度 二叉树是个有序树(但是不是树的特殊情况) 二叉树可以是一 个空集 二叉树必须要分左子树还是右子树,即使只 2023-04-05 #数据结构和算法
串、数组和广义表 [TOC] 串、数组和广义表串(字符串string) 是一个内容受限的线性表(只能存放字符) 子串 例如abcd的的子串 “ ” “a” “ab” …….. 子串在主串当中的位置 所有的空串都是相等的 一般选用顺序的 串的顺序实现1234typedef struct SString{ char ch[MAXSIZE]; int Length;} 2023-04-04 #数据结构和算法
串、数组和广义表 [TOC] 串、数组和广义表串(字符串string) 是一个内容受限的线性表(只能存放字符) 子串 例如abcd的的子串 “ ” “a” “ab” …….. 子串在主串当中的位置 所有的空串都是相等的 一般选用顺序的 串的顺序实现1234typedef struct SString{ char ch[MAXSIZE]; int Length;} 2023-04-04 #数据结构和算法
栈和队列 [TOC] 栈和队列栈定义和特点 栈:先进后出 队列:先进先出(排队的问题) 顺序栈的表示和操作实现 约定an端为栈顶,a1端为栈底 操作 初始化 制造一个空栈 InitStack(&S) 销毁栈 DestroyStack(&S) 判断是否为空 StackEmpty(S) 求栈的长度 StackLength(S) 取栈顶的元素 GetTop(S,&e 2023-03-29 #数据结构和算法
栈和队列 [TOC] 栈和队列栈定义和特点 栈:先进后出 队列:先进先出(排队的问题) 顺序栈的表示和操作实现 约定an端为栈顶,a1端为栈底 操作 初始化 制造一个空栈 InitStack(&S) 销毁栈 DestroyStack(&S) 判断是否为空 StackEmpty(S) 求栈的长度 StackLength(S) 取栈顶的元素 GetTop(S,&e 2023-03-29 #数据结构和算法
线性表 [TOC] 第二章时间和空间复杂度 时间复杂度 使用big O计数法 实例 O(1) 常量级的算法 1234567int a=0;int b=0;int c=0;a=b;a=c;b=c;//就算重复1000000+都是一个常量 O(n) 123for(int i=0;i<n;++i){ //代码} O(logN) 1234while(i<n 2023-03-27 #数据结构和算法
线性表 [TOC] 第二章时间和空间复杂度 时间复杂度 使用big O计数法 实例 O(1) 常量级的算法 1234567int a=0;int b=0;int c=0;a=b;a=c;b=c;//就算重复1000000+都是一个常量 O(n) 123for(int i=0;i<n;++i){ //代码} O(logN) 1234while(i<n 2023-03-27 #数据结构和算法