数据结构
文章平均质量分 78
小棒和你一起学Java
Java程序员,混迹职场,尝试沉淀一些内容,让Java开发变成自己的基本功。
展开
-
数据结构算法-二叉树
二叉树判定问题 二叉树判定是否是排序二叉树: 算法思想:中序遍历二叉树,若前驱始终小于当前节点,则是排序二叉树 int predt = -9999; //定义全局变量,始终作为前驱 int JuBST(BiTree bt) { int btl,btr; //1.空树是排序二叉树 if (bt==NULL) return 1; else{ //2.判断左子树是否是二叉排序树并将结果返回 btl=JuBST(bt->lchild); //3.判...原创 2021-08-21 16:05:07 · 1166 阅读 · 0 评论 -
数据结构-排序
插入排序 直接插入排序 希尔排序 交换排序 冒泡排序 快速排序 选择排序 简单选择排序 堆排序 归并排序 分配排序原创 2021-07-01 21:43:11 · 120 阅读 · 0 评论 -
DS冲刺3
SuperKey4- 单链表 ⚫ 单链表查找+插入和删除问题【超级基础】 ⚫ 单链表合并问题【超级重点】 ⚫ 单链表逆置【高频考点】 ⚫ 链表排序+去重 ⚫ 链表交集问题【递增有序链表】【新型考点】【若无序,先排序,再交集】灵活一点 ⚫ 单链表最大值问题【递归】 ⚫ 循环链表【约瑟夫问题】【超级重点】-【数组||链表实现】-见“经典问题” ⚫ 之前的手写代码,再过一遍 1.单链表的结点类型定义 typedef struct LNode { int data; struct LNode*next;原创 2021-07-01 21:34:26 · 166 阅读 · 0 评论 -
数据结构-栈和队列(用栈实现表达式求值)
用栈实现表达式求值 小结:“用栈求中缀表达式值”较复杂【已基本搞定】,只要此处搞定,“用栈求前缀/后缀表达式值”,就不是问题;“用栈求前缀表达式值”和“用栈求后缀表达式”部分细节相反,代码描述基本相同。 “用栈求中缀表达式值”,需要考虑:算子,运算符,括号,问题; “用栈求后缀/前缀表达式值”,需要考虑:算子,运算符,不需要考虑括号问题; 所以:相比较而言,对于计算机而言,“用栈求后缀/前缀表达式值”,更加高效; 用栈求中缀表达式值: 原则: 创建两个栈,栈1和栈2;从左到右,依次遍历中缀表达原创 2021-07-01 21:27:48 · 961 阅读 · 0 评论 -
数据结构-单链表
1.单链表的结点类型定义 typedef struct LNode { int data; struct LNode*next; }LNode,*LinkList; 2.单链表头插法 算法思想:1.创建头结点指向空结点;2.循环创建结点p,p->next指针指向L->next;L->next=p->next. LinkList ListInsertHead(LinkList &L) //LinkList:意味着最终返回LinkList链表; Linkli原创 2021-07-01 21:19:39 · 1282 阅读 · 0 评论