数据结构
nanfengnan?
世界解放,万物自由!
展开
-
大根堆Java实现
具体创建原理;自行百度,这里仅仅提供实现的思路import java.util.Arrays;// 大根堆建立// 核心方法:heapInsert和heapify/** * 插入元素时候:堆上升 * 删除元素时候:堆下沉 * 堆排序和删除相关 */public class BigHeap{ // 大根堆 private int[] heap; // 堆结构 private int size; // 堆中元素数量 private int limit;原创 2022-03-26 11:43:47 · 1423 阅读 · 0 评论 -
leetcode链表重点题目
leetcode刷题总结链表问题的解决思想leetcode链表题目清单链表问题的解决思想重点:这里是点睛之笔链表问题解决思想1.当想要空间复杂度为O(1)时候,使用快慢指针2.常规解法,把链表放到容器中在操作3.当某些题目需要返回特定结构的链表时,可以使用虚拟头节点解决,让虚拟头节点重现连接出符合预期的链表leetcode链表题目清单提示:以下是本篇文章正文内容,下面案例可供参考package class09.leetcode;import org.w3c.dom.ls.LSI原创 2022-03-12 08:44:58 · 66 阅读 · 0 评论 -
前缀树(字典树)trieTree两种实现
实现TrieTree中的易混淆的地方:注意查找字符串和字符串前缀的区别1.查找字符串的话,要使用最后一个节点判断是否为单词,多种解决办法,可以设置标志位,tree:单词,false:不是单词,是字串的中间部分或者也可以用第一种实现中的end值,end>0表示字符串结尾2.查找前缀的话,没条件,只要trietree中有前缀单词即可最后标注:数据结构的实现是多种多样的,掌握核心的灵魂才是关键数组实现trieTree:缺点浪费空间,一般不使用public class TrieTree {原创 2022-02-28 19:17:51 · 189 阅读 · 0 评论 -
中缀表达式转后缀表达式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、中缀表达式转后缀表达式+表达式求值算法前言2021年9月18日,考研路上,今天复习了栈,顺手用了1个小时写了这个表达式求值算法,由于时间紧迫,代码未加注释,有些冗余,待有时间在修改.一、中缀表达式转后缀表达式+表达式求值算法代码如下(示例):#include <iostream>#include <stack>#include <string>using namespa原创 2021-09-18 00:20:11 · 67 阅读 · 0 评论 -
二叉树基础
二叉排序树的基本操作一、基本操作二、总结一、基本操作代码如下(示例):#include <stdio.h>#include <stdlib.h>typedef int ElemType;//二叉排序树的存储结构typedef struct BSTNode{ ElemType key; //数据域 struct BSTNode *lchild,*rchild;}BSTNode,*BSTree;/* * 1.BST树特点:左子树值<根节点值原创 2021-04-22 00:00:02 · 66 阅读 · 0 评论 -
二叉树算法
@TOC二叉树的基本操作二叉树的基本操作代码如下(示例):#include <stdio.h>#include <stdlib.h>#define MaxSize 100typedef char ElemType; //定义二叉树的存储类型//二叉树的物理存储typedef struct node{ ElemType data; struct node *lchild,*rchild;}*BitTree,BitNode;//线索二叉树的存储结原创 2021-04-20 23:54:29 · 90 阅读 · 0 评论