
数据结构
以数据结构具体代码为指引,帮助大家更好理解和掌握数据结构
Y-peak
一个努力的小白pwn
展开
-
搜索插入位置
搜索插入位置题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: num原创 2021-09-13 12:50:13 · 525 阅读 · 0 评论 -
二分查找(对半搜索)
二分查找(对半搜索)本文采用Java书写选择排序,其他语言类似可以借鉴着写所谓二分查找和对半搜索,即对于升序(或者降序)的有序序列进行查找时,由于有序我们可以直接从中间查找相等返回。大于则在右侧子序列中进行二分查找,小于则对左侧子序列进行二分查找。直至找到或者子序列只有一个元素为止。代码实现迭代方法实现public int binSearch(int[] nums, int target) { int index, low = 0, hight=nums.length-1; wh原创 2021-09-13 11:42:50 · 1408 阅读 · 0 评论 -
中缀表达式转换为后缀表达式
中缀表达式转换为后缀表达式三种方法:借助堆栈:1. 如果是数字直接输出。 2. 如果是")",依次输出站内元素,只到输出"("。3. 如果是"(" 以及其他"+" 、"-" 、"*" 、"/"操作符。则与栈顶元素进行比较优先级;若前者较小,则连续出栈输出,直到前者大于后者,停止出栈。再将该操作符入栈。优先级大小:如图构造二叉树,后序输出:将表达式从左到右构造二叉树,"(" 与 ")"省略加括号法:再不改变表达式结构的情况下尽可能多的增加括号,直至不能增加,然后从外向内依次将操作符提出原创 2021-06-13 15:17:58 · 289 阅读 · 0 评论 -
图的基本运算及智能交通中的最佳路径选择问题
图的基本运算及智能交通中的最佳路径选择问题完成邻接矩阵的初始化、撤销和边的搜索、插入、删除等操作#include <stdio.h>#include <stdlib.h>#define ERROR 0#define OK 1#define Overflow 2 //表示上溢#define Underflow 3 //表示下溢#define NotPresent 4 //表示元素不存在#define Duplicate 5 //表示原创 2021-05-22 18:41:34 · 1673 阅读 · 4 评论 -
二叉树的基本操作及哈夫曼编码/译码系统的实现
二叉树的基本操作及哈夫曼编码/译码系统的实现实验目的和要求掌握二叉树的二叉链表存储表示及遍历操作实现方法。实现二叉树遍历运算的应用:求二叉树中叶结点个数、结点总数、二叉树的高度,交换二叉树的左右子树。掌握二叉树的应用——哈夫曼编码的实现。二叉树的基本操作#include <stdio.h>#include <stdlib.h>//二叉树结点结构体typedef char ElemType;typedef struct btnode{ ElemT原创 2021-04-25 19:48:56 · 2494 阅读 · 0 评论 -
带表头节点单链表及其基本应用
带表头节点单链表及其基本应用结构体及其宏定义和所需要的C语言库#include <stdio.h>#include <stdlib.h>#define ERROR 0#define OK 1#define Overflow 2 //表示上溢#define Underflow 3 //表示下溢#define NotPresent 4 //表示元素不存在#define Duplicate 5 //表示有重复元素#define ElemType int //想要原创 2021-03-28 22:18:47 · 348 阅读 · 0 评论 -
顺序表及其基本应用
顺序表及其基本应用顺序表的优点是可以更好的查找元素, 下面进行了初始化、增、删、改、查、删除等基本实现结构体及其部分定义#include <stdio.h>#define ERROR 0#define OK 1#define Overflow 2 //表示上溢#define Underflow 3 //表示下溢#define NotPresent 4 //表示元素不存在#define Duplicate 5 //表示有重复元素typedef int Status;原创 2021-03-17 21:40:12 · 1242 阅读 · 0 评论 -
Collatz猜想 (Hailstone)(3n + 1猜想)
Collatz猜想 (3n+1猜想)这是是一个著名的数学问题,至今没有证明其正确性,也没证明其是错误的,即任何一个正整数N,如果是偶数的话就除以2,如果是奇数的话就乘以3再加上1,最后这个数都会变为1。公式如下:C语言实现代码#include <stdio.h>#include <stdlib.h>int Hailstone(int );int main(void){ int result = Hailstone(18); printf("l原创 2021-02-24 09:15:51 · 1419 阅读 · 1 评论