
数据结构
WUYANGEZRA
Python
展开
-
1003. Emergency (25) Dijastra最优路径算法
1003. Emergency (25)As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair原创 2021-08-01 22:12:22 · 312 阅读 · 0 评论 -
词典中最长的单词
"""词典中最长的单词desc: 给出一系列字符串单词,表示一个英语词典,找到字典中最长的单词,这些单词可以通过 字典中其他单词每次增加一个字母构成。如果有多个可能的答案,则返回字典顺序最小的 那个。如果没有答案,则返回空字符串。e.g.: (1) input: words = ["w", "wo", "wor", "worl", "world"] output: "world",单词"world"可以通过"w", "wo", "wor", "worl",.原创 2021-06-17 00:00:32 · 398 阅读 · 0 评论 -
通过删除字母匹配到字典里最长单词
"""通过删除字母匹配到字典里最长单词desc: 给定字符串和字符串字典,找到字典中可以通过删除给定字符串的某些字符所形成的 最长字符串。如果有多个可能的结果,则返回具有最小字典顺序的最长单词。如果没有 可能的结果,则返回空字。e.g.: 输入s="abpcplea", d=["ale", "apple", "monkey", "plea"], 输出apple。"""def find_word(s: str, d: list) -> str: # l.原创 2021-06-11 23:14:00 · 154 阅读 · 0 评论 -
背包问题(动态规划)
"""Test: 给出n个物品的体积A[i]及其价值V[i],将它们装入一个大小为m的背包,最多能装入物品的总价值有多少?e.g.: 对于物品体积[2,3,5,7]和对应的价值[1,5,2,4],假设背包体积大小为10,最大能够装入的价值为9,也就是 体积为3和7的物品。"""def find_max_price(volume_list: list, price_list: list, capacity: int) -> int: """ :param vol.原创 2021-06-10 23:54:36 · 198 阅读 · 3 评论 -
给定一个未排序的整数数组,找出最长连续序列的长度
给定一个未排序的整数数组,找出最长连续序列的长度eg:input: [100, 4, 200, 1, 3, 2]output: [1, 2, 3, 4]返回长度=4原创 2021-06-09 23:52:55 · 1167 阅读 · 0 评论 -
Dijkstra算法-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#define ERROR -1#include<stdio.h>#include<stdlib.h>#define MaxVertexNum 100 /* 最大顶点数设为100 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535 */typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; .原创 2021-01-27 22:21:13 · 439 阅读 · 0 评论 -
Prim算法-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#define ERROR -1#include<stdio.h>#include<stdlib.h>#define MaxVertexNum 100 /* 最大顶点数设为100 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535 */typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; .原创 2021-01-26 23:15:46 · 378 阅读 · 0 评论 -
图的遍历(邻接表)-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#define MaxVertexNum 100 /* 最大顶点数设为100 */#include<stdio.h>#include<stdlib.h>typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; /* 边的权值设为整型 */typedef char DataType; /* 顶点存储的数据类型设为字符型 *//*图.原创 2021-01-24 14:14:18 · 682 阅读 · 0 评论 -
图的遍历(邻接矩阵)-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#define MaxVertexNum 100 /* 最大顶点数设为100 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535 */typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; /* 边的权值设为整型 */ty.原创 2021-01-24 00:12:59 · 501 阅读 · 0 评论 -
二叉树非递归遍历-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#define MAXSIZE 100#include<stdio.h>#include<stdlib.h>typedef int ElementType;ElementType NoInfo = 0; /*用0表示没有结点*//*============================结构体===========================================*//*二叉树最常用.原创 2021-01-23 12:31:52 · 259 阅读 · 0 评论 -
递归遍历二叉树-用C语言描述
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>typedef int ElementType;ElementType NoInfo = 0; /*用0表示没有结点*//*============================结构体===========================================*//*二叉树最常用的表示方法是用链表表示,每个结点由数据和.原创 2021-01-22 00:07:14 · 177 阅读 · 0 评论 -
链式存储队列-用C语言描述
#include<stdio.h>#include<stdlib.h>/*队列的链式存储队列的头(Front)必须指向链表的头结点,队列的尾(Rear)指向链表的尾结点*/typedef int ElementType;ElementType ERROR = -1;typedef struct Node *PtrToNode;/*队列中的结点*/struct Node{ ElementType Data; PtrToNode Next;};t.原创 2021-01-22 00:05:49 · 268 阅读 · 0 评论 -
顺序存储队列-用C语言描述
#include<stdio.h>#include<stdlib.h>/*队列的顺序存储(循环队列)方法:少用一个元素空间。*/typedef int ElementType;typedef int Position;typedef struct QNode * PtrToNode;struct QNode{ ElementType * Data; /*存储元素的数组*/ Position Front, Rear; /*队列的头、尾指针*/ in.原创 2021-01-22 00:03:35 · 344 阅读 · 0 评论 -
Java 集合框架 - Set
package setTest;import java.util.HashSet;/** Set中的元素是不能重复的,底层是一个HashMap* */public class setTest { public static void main(String [] args){ HashSet<String> set = new HashSet<>(); // 添加元素 set.add("Jack"); .原创 2020-10-02 12:02:41 · 1597 阅读 · 0 评论 -
Java 集合框架 - Map
package map;import java.util.Collection;import java.util.HashMap;import java.util.Set;import java.util.Map;import java.util.TreeMap;public class HashMapTest { /* * HashMap * 一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射 * 基于hashing的原理,使用put.原创 2020-10-02 12:01:07 · 186 阅读 · 0 评论 -
Java 集合框架 - List
package container;import java.awt.*;import java.util.ArrayList;import java.util.LinkedList;public class ListTest { /* * 集合框架 - List * 允许有相同的元素 * ArrayList * (1) 基于数组实现,是一个动态的数组队列,容量可以自动增长 * (2) 可以存储任意多的对象,但是只能存储对象,不能.原创 2020-09-28 23:08:04 · 175 阅读 · 0 评论 -
数据结构(用C语言描述):栈和队列基本概念、实现
栈和队列栈 栈的基本概念 栈的定义 栈(Stack):只允许在一端进行插入或删除操作的线性表。栈顶(Top): 线性表允许进行插入和删除的那一端栈底(Bottom): 固定的,不允许进行插入和删除操作的另一端。空栈:不含任何元素的空表。栈的一个明显的操作特性:后进先出(Last In First Out, LIFO),故又称为后进先出的线性表。 ...原创 2018-10-17 11:14:41 · 1210 阅读 · 0 评论