• 2024-05-30A*算法求解八数码问题
    一、问题描述:A*算法是一种启发式图搜索算法,其特点在于对估价函数的定义上。对于一般的启发式图搜索,总是选择估价函数f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,考虑每个节点n的估价函数值为两个分量:f(n)=g(n)+h(n),从起始节点
  • 2024-05-26链栈
    链栈linkStack.h文件#pragmaoncetypedefstructNode{ intdata; structNode*next;}node,*pnode;classLinkStack{private: Node*top;public: LinkStack(); ~LinkStack(); voidpush(intx); intpop(); intgetTop(); boolisEmpty(); voiddisplay
  • 2024-03-26数据结构-哈希表-007
    1哈希表-通讯录1.1哈希结点结构体定义/*=====自定义数据类型=====*/typedefstructperson_information{charname[32];charsex;intage;chartel[32];charaddr[64];}DATA_TYPE;/*=====定义一个哈希数据结点=====*/typedefstructhash_
  • 2024-03-22数据结构笔记
    数据结构数据在内存中的存储方式(存储结构)程序=数据+算法算法=操作的步骤算法的时间复杂度动态数组链表迭代器栈和队列二叉搜索树二叉平衡树哈希表1.时间复杂度考量算法的时间复杂度有一个前提就是控制变量,语句的执行时间相同,数据的样本量相同……
  • 2024-02-05目录遍历(建立目录树,记录目录属性)仅适用于小样本
    directory.h#pragmaonce#include<windows.h>#include<tchar.h>#include<stdio.h>#include<tchar.h>#include<string>#include<stack>#include<codecvt>#include<vector>#defineFILE_NOT_IN_NODE-1classDirTreeNode{p
  • 2023-10-21链表、栈的基本操作
    栈的基本操作#include<iostream>usingnamespacestd;#defineOK1#defineERROR0#defineMaxSize100typedefintElemType;//定义栈_顺序栈structStack{ ElemType*top; ElemType*base; intstacksize;};intIsFull(Stacks);intIsEmpty(Stacks);//初始化in
  • 2023-10-14动态内存管理函数及应用--通讯录管理系统(1)
    引言:我们在创建一个局部变量时,通过下列定义语句向内存申请空间,内存在栈区为变量开辟相应的空间。intval=10;//在内存中栈区中开辟大小为4Byte大小的空间chararray[10]={0};//在内存中栈区中开辟大小为10Byte大小的连续的空间...上述方式开辟空间的特点:空间开辟大小是固定的,开辟好
  • 2023-09-26北林OJ题227、228
    记录一下自己做的题227交集#include<iostream>usingnamespacestd;//求有序链表的交集typedefintData;structLNode{ Datadata; LNode*next;};//初始化voidInitList(LNode*&L){ L=newLNode; L->next=NULL;}//尾插法创建链表voidCreateList_B(LNode
  • 2023-09-10模拟栈
    #include<stdio.h>#include<malloc.h>#include<stdlib.h>//模拟栈的功能//自定义数据类型typedefstructNode//节点类型{ intdata;//存放的数据 structNode*pNext;//下一个结点的地址 }NODE,*PNODE;//将数据类型起别名typedefstruct
  • 2023-09-03链表实现插入排序
    将一串整型范围内的数按升序输出。数据输入样式16-53-3-54744818-245463663-9919-99990789用链表实现实例:1)结构体定义1structListNode2{3intdata;4ListNode*next;//结构体指针5ListNode*pre;//结构体指针6};2)建一个初始
  • 2023-08-11数据结构
    一.链表#链表节点classNode:def__init__(self,dataVal=None):self.dataVal=dataValself.next=None#开始节点classSLinkedList:def__init__(self):self.next=None#打印链表defprintLink(self):pNo
  • 2023-07-041043_二叉树的生成和遍历(循环方式)
    1、遍历方法前序遍历(preOrder)对每个节点(子树)、贯彻这个遍历顺序:根->左->右中序遍历(inOrder)左->根->右后序遍历(postOrder)左->右->根层序遍历一层一层、从左到右遍历参考资料:二叉树各种遍历方法递归和循环实现树的层次遍历的几种方法
  • 2023-05-31dfs 二叉树中序遍历迭代解法——求解BST中第k小元素
    BST中第K小的元素中文English给一棵二叉搜索树,写一个 KthSmallest 函数来找到其中第K小的元素。Example样例1:输入:{1,#,2},2输出:2解释: 1 \ 2第二小的元素是2。样例2:输入:{2,1,3},1输出:1解释:2/\13第一小的元素是1。Challenge如果这棵BST经常会被修改(
  • 2023-05-04模块与群体数据
    #include<iostream>#include<cassert>usingnamespacestd;template<typenameT>classOrderList{ public: typedefstruct_NODE{ Tvalue; struct_NODE*next; }NODE,*PNODE; OrderList():pHead(NULL),size(0){} OrderList(constOrderList&
  • 2023-04-30【数据结构】链式型存储结构-循环单链表
    1 前言对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。这样一来,不从头结点出发,这样就无法访问到全部结点。为了解决这个问题,我们只需要将单链表的尾结点的指针由空指针改为指向头结点
  • 2023-04-13PAT Basic 1090. 危险品装箱
    PATBasic1090.危险品装箱1.题目描述:集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。2.输入格
  • 2023-04-07JZ8 二叉树的下一个结点
    做法一:直接求出中序遍历,并用vector容器存储。/*structTreeLinkNode{intval;structTreeLinkNode*left;structTreeLinkNode*right;structTreeLinkNode*next;TreeLinkNode(intx):val(x),left(NULL),right(NULL),next(NULL){
  • 2023-04-03Menu callback函数
    对于一般的函数来说,函数的编写和调用都是我们自己。但callback函数不是这样的,它是由我们编写但是不由我们调用,由我们将函数指针传给其他模块,再由其他模块通过我们传递的函数指针来调用我们编写的函数。 在menu5.2中,向其他模块传递callback函数的函数如下,传递的callback函数就
  • 2023-03-21STL之list底层简单实现(七千字长文详解!)
    list底层的简单实现list_node的实现!要实现链表我们首先就要实现节点的结构体!structlist_node{ list_node*_next; list_node*_prev; T_data;};list_node的构
  • 2023-03-20[数据结构]一元多项式的表示与相加
    /**@Author:*@Date:2019-12-0320:48:51*@LastModifiedby:*@LastModifiedtime:2019-12-0321:05:06*/#include<iostream>#include<cstdio>usingnamespa
  • 2023-02-26每日一练(剑指offer)二叉树的下一个结点
    输入描述:输入分为2段,第一段是整体的二叉树,第二段是给定二叉树节点的值,后台会将这2个参数组装为一个二叉树局部的子树传入到函数GetNext里面,用户得到的输入只有一个子树根节
  • 2023-02-06C语言实现链表的创建与遍历
    1#include<stdio.h>2#include<stdlib.h>345typedefstructNode{6intdata;7structNode*pNext;8}NODE,*PNODE;910PNODEcrea
  • 2023-01-28感受Vue3的魔法力量
    作者:京东科技牛至伟近半年有幸参与了一个创新项目,由于没有任何历史包袱,所以选择了Vue3技术栈,总体来说感受如下:•setup语法糖<scriptsetuplang="ts">摆脱了书写声明式的
  • 2023-01-28感受 Vue3 的魔法力量
    ​  作者:京东科技牛至伟近半年有幸参与了一个创新项目,由于没有任何历史包袱,所以选择了Vue3技术栈,总体来说感受如下:•setup语法糖<scriptsetuplang="ts">摆脱了书
  • 2022-12-27郝斌老师数据结构课程笔记
    说明1.建议用notepad++、或UE打开,文件以.c的形式提供,就是是为了高亮显示,才会有论坛图片上的效果,如果用记事本观看会有点乱,如果记事本采用自动换行会更乱。2.本人没什么技术,