![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 64
数据结构与算法
从炸毛到秃顶
这个作者很懒,什么都没留下…
展开
-
data structure —— tree data structure
树结构——重点AVL原创 2023-02-22 23:58:36 · 212 阅读 · 0 评论 -
leetcode 每日一题 2021.11.29 第 K 个最小的素数分数
题目:给你一个按递增顺序排序的数组 arr 和一个整数 k 。数组 arr 由 1 和若干 素数组成,且其中所有整数互不相同。对于每对满足 0 < i < j < arr.length 的 i 和 j ,可以得到分数 arr[i] / arr[j] 。那么第k个最小的分数是多少呢?以长度为 2 的整数数组返回你的答案, 这里answer[0] == arr[i]且answer[1] == arr[j] 。示例 1:输入:arr = [1,2,3,5...原创 2021-11-29 17:02:56 · 93 阅读 · 0 评论 -
数据结构学习——数据结构与抽象
结构:实体+关系数据结构:按照逻辑关系组织起来的一批数据,按一定存储方法把它存储在计算机中,在这些数据上定义了一个运算的集合。二、数据结构的逻辑组织1.线性结构:如线性表(表,栈,队列,串等)2.非线性结构:如(树(二叉树),图)图包含树包含二叉树包含线性表三、数据的存储结构逻辑结构到物理存储空间的映射计算机主存储器(内存)是非负整数地址编码,相邻的单元的集合。...原创 2019-12-23 22:02:05 · 301 阅读 · 0 评论 -
数据结构——二叉树
概念:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若...原创 2019-08-06 14:03:23 · 121 阅读 · 0 评论 -
数据结构——错误一览(概念类)
1.计算机所处理的数据一般具备某种内在联系,这是指元素和元素之间存在某种关系。2.在数据结构中,在所使用的计算机无关的是数据的逻辑结构。3.数据结构即数据的逻辑结构包括线性结构,树形结构,图形结构三种。数据的存储结构即物理结构包括顺序,链表,索引,散列。四种。4.算法是求解特定问题的指令有限序列。5.一种存储结构具有随机存取特性指的是,对于给定的序号i,在O(0)时间内找到对应元素...原创 2019-07-11 17:17:02 · 1304 阅读 · 0 评论 -
数据结构——串和kmp算法
串定义:是由零个或者多个字符组成的有限序列。 串的顺序存储:a.每一个单元只存一个字符,称为非紧缩格式(存储密度小)。 b.一个单元存放多个字符,称为紧缩格式(存储密度大)。 串的连式存储: 一个节点可以存储多个字符,通常将链表中每个节点所存储的字符个数称为节点大小。 KMP算法与BF算法题目:【题意】 有两个字符串...原创 2019-07-10 10:51:36 · 195 阅读 · 0 评论 -
数据结构——学习问题——2004年浙江大学计算机专业考研复试真题
一、PAT考试题Given a sequence of K integers { N1, N2, ..., NK}. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj} where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence ...原创 2019-06-21 17:51:37 · 316 阅读 · 0 评论 -
数据结构——堆栈和队列
一、定义:队列:和堆栈差不多,不过是先进先出,一端插入叫做入队,一端删除叫做出队。头是front,尾是rear.有顺环队列和单队列。两种实现形式,链表和数组。链表容量可控性大,操作不便。数组容量难控制,操作方便。二、功能:队列判空需要添加size标记或者将容量设为n-1两者都可以实现。三、不懂得点:为什么要多项式计算要指针的指针?动态数组是啥来着?四、练习题:堆栈是判断括号匹配...原创 2019-05-28 10:24:47 · 505 阅读 · 0 评论 -
数据结构学习——链表结构
储存结构定义:struct Node;typedef struct Node *PtrToNode;typedef PtrToNode List;typedef PtrToNode Position;struct Node{ ElemType Element; Position Next;};代码书写:package theDataStructureAbo...原创 2019-05-27 16:34:22 · 92 阅读 · 0 评论 -
算法刷题总结的相关知识点
一、为啥使用StringBuffer速度比单纯用String快。 结论:String < StringBuffer < StringBuilder 。 理由:String每一次变动总的来说是新建一个对象,指针指向新建对象然后GC回收旧对象。而其他两个则是在同一个对象上操作,所以速度更快。 意外情况:类如String a = 'a'+'b'这样的String会快,因为这个本质上是一个对象,但是如果是两个对象的话就会发生上述情况,即重新创建对象。...原创 2020-09-16 15:23:40 · 244 阅读 · 0 评论 -
PAT乙级 A+B和C (3n+1)猜想 写出这个数
一、A+B和C由于执着用C所以发生了各种神奇错误:C版 :(JAVA在最底下)第一版:int main() { int a, b, c; printf("input a,b,c\n"); scanf("%d %d %d", &a, &b, &c); int minNum = -2; int maxNum = 2; for (int i = 0; i < 31; i++) { minNum = minNum * -2; maxNum = max原创 2020-05-14 23:14:32 · 183 阅读 · 0 评论 -
《算法笔记》——第四章(JAVA)
选择排序。 /** * 选择排序 */ static void selectionSort() { Integer[] a = { 1, 5, 9, 6, 122, 496, 154, 185 }; for (int i = 0; i < a.length; i++) { int k = i; for (int j = i; j...原创 2020-03-05 13:22:01 · 164 阅读 · 0 评论 -
《算法笔记》第三章——部分JAVA代码
package theArithmetic;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;public class Project {/**有些限制嫌麻烦就没写,到时如需要再补上*/...原创 2020-03-03 09:28:28 · 125 阅读 · 0 评论 -
算法的基本分类
一。穷举法二。回溯,搜索三、递归分治。四、贪心法五、动态规划效率量度原创 2019-12-25 16:02:17 · 212 阅读 · 0 评论 -
java递归迷宫
问题:会有跳动自己代码:import java.util.ArrayList;import java.util.List;import java.util.Stack;/** * 迷宫,求出所有路径。递归 思路:在递归中判断路线是否可以走。一个方法 需要一个值做路线记录 问题:如何在二维数组中判断值 */public class MazeTest { // 地图显示 ...原创 2019-07-16 15:17:43 · 365 阅读 · 0 评论