Titan笔记

  • 首页
  • Java
  • 数据结构
  • C语言
  • Web
  • 杂谈
  • 移动开发
  • 逸笔挥墨
数据结构
数据结构

[数据结构] 使用最小堆思想实现哈夫曼编解码

哈夫曼树的定义 假设有n个权值,构造有n个叶子结点的二叉树,每个叶子结点的权值是n个权值之一,这样的二叉树可以构造很多棵,其中必有一棵是带权路径长度最小的,这棵二叉树就称为最优二叉树或哈夫曼树。 构建哈夫曼树的方式 假设有7个树(一个节点),其权重分别为1、2、3、4、5、6、7。 找到两个权重最小的树1和2。 1 和2 分别作为新树的左右子树,新树的根结点权重为1 2 =3。剩下的树:3、3、4、5、6、7。 再找到两个最小的树,分别是3和3构成新树,新树权重为6。剩下的树为:6、4、5、6、7。 重复步骤2和3…

2020年4月30日 1条评论 1224点热度 9人点赞 Titan 阅读全文
数据结构

[数据结构] 稀疏矩阵的存储

【问题描述】 稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。 【基本要求】 以三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则以通常的阵列形式列出。 【Talk is cheap, show you the code】

2020年4月4日 0条评论 862点热度 5人点赞 Titan 阅读全文
数据结构

[数据结构] 平衡二叉查找树 (AVL树)

平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1<=bf<=1; AVL树的作用:   我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2n,其各操作的时间复杂度(O(log2n))同时也由此而决定。但是,在某些极端的情况下(如在插入的序列是有序的时),二叉搜索树将退化成近似链或链,此时,其操作的时间复杂度将退化成线性的,即O(n)。我们可以通过随机化建立二叉搜索树来尽量的避免这种情况,但是在进行了多次的操作之后,由于在删除…

2020年3月22日 4条评论 1699点热度 7人点赞 Titan 阅读全文
数据结构

[数据结构] 括号符的匹配

#include<stdio.h> #include<stdlib.h> // Code by Titan 2020-03-16 // 定义堆栈结构 typedef struct Node *Position; typedef Position Stack; struct Node { char ch; Position next; }; //定义初始化堆栈的操作 Stack initS() { Stack S =(Stack)malloc(sizeof(struct Node)); S-&…

2020年3月21日 0条评论 763点热度 3人点赞 Titan 阅读全文
数据结构

[数据结构] 二叉搜索树的CURD(增删改查)操作

介绍 对于二叉搜索树的查找指定元素、查找最大元素、查找最小元素、删除指定元素、插入元素等基础操作。除了删除操作外,基本上都是使用的非递归函数解决。 Code #include<stdio.h> #include<stdlib.h> // 二叉搜索树的各种操作 By Titan typedef struct TNode *Position; typedef Position BinTree; struct TNode { int Data; Position Left; Position Ri…

2020年3月17日 0条评论 923点热度 2人点赞 Titan 阅读全文
数据结构

[数据结构]链式存储: 多项式求和

解析: 看完题目和测试数据你或许会和我一样纳闷,题目要求的输出中 序列按指数降序排列,而测试数据中的示例输出却有升序的 有降序的 还有不是升序的也不是降序的。 没错,相信你的直觉,测试数据并不规范!     这里简单讲一下思路:用线性表的链式存储方式先读入输入数据到两个线性表L1 L2中,然后再初始化一个线性表L,比较L1、L2中结点的次数大小,将较大的先插入,相等的合并插入,剩余的连到线性表L的后面即可。具体在addition函数中。 Talk is cheap,show you the co…

2020年3月14日 0条评论 974点热度 9人点赞 Titan 阅读全文
数据结构

[数据结构] 二叉树的前序遍历、中序遍历和后序遍历

  二叉树先序遍历 二叉树先序遍历的实现思想是: 访问根节点; 访问当前节点的左子树; 若当前节点无左子树,则访问当前节点的右子树; 二叉树中序遍历 二叉树中序遍历的实现思想是: 访问当前节点的左子树; 访问根节点; 访问当前节点的右子树; 二叉树后序遍历 二叉树后序遍历的实现思想是: 从根节点出发,依次遍历各节点的左右子树, 直到当前节点左右子树遍历完成后,才访问该节点元素。  

2020年3月8日 0条评论 1045点热度 3人点赞 Titan 阅读全文
C语言

[数据结构] 两个有序线性表的合并

#include<stdio.h> #include<stdlib.h> //构建线性表结构 typedef struct LNode *List; struct LNode{ int data[1000]; int last; }; //生成线性表 List createList(int arr[],int arrLen){ List L= (List)malloc(sizeof(struct LNode)); L->last=0; for(int i=0;i<=arrLen;…

2020年3月7日 1条评论 2202点热度 9人点赞 Titan 阅读全文
C语言

[数据结构] 队列的链式存储实现

#include<stdio.h> #include<stdlib.h> typedef struct QueueNode *PtrToNode; struct QueueNode { /* 队列中的结点 */ int Data; PtrToNode Next; }; typedef PtrToNode Position; struct QNode { Position Front, Rear; /* 队列的头、尾指针 */ int MaxSize; /* 队列最大容量 */ }; type…

2020年2月29日 0条评论 988点热度 3人点赞 Titan 阅读全文
C语言

[数据结构]结构体练习之复数运算

算结构题练习题吧 Talk is cheap,show you the code. #include<stdio.h> #include<math.h> #include<string.h> typedef struct complex{ double real; double virt; }COM; //复数求和的实现函数 COM summation(COM num1,COM num2){ COM result; result.real=num1.real+num2.real;…

2020年2月29日 0条评论 1104点热度 3人点赞 Titan 阅读全文

Titan

不为岁月流逝蹉跎,不为潮流的势头去附和

最新 热点 随机
最新 热点 随机
Docker配置IPv6容器网络支持 什么是Elastic Stack,ELK的发展历程 K8s中Pod的基本概念 Pushkin AI - 基于OpenAI-ChatGPT / GPT3的问答机器人 云原生 - 浅谈容器基础与K8S架构设计 腾讯Serverless体验,使用TypeScript编写并部署云函数
Docker配置IPv6容器网络支持
[数据结构] 平衡二叉查找树 (AVL树) 计算机操作系统 - 银行家算法 - C++实现 [数据结构] 使用最小堆思想实现哈夫曼编解码 [数据结构]链式存储: 多项式求和 Spring Cloud 微服务学习笔记 - 开篇 Spring与Mybatis的整合
标签聚合
链式存储 数据结构 JavaWeb Java Python Mybatis学习笔记 Apache-Hive 二叉树
分类
  • Android
  • C语言
  • Elasticsearch
  • Hadoop
  • Hive
  • Java
  • JavaWeb
  • Kubernetes
  • Linux运维之道
  • Mybatis学习笔记
  • Python
  • SpringCloud
  • Web
  • Web前端
  • Web后端
  • 云原生
  • 并发编程
  • 开发工具
  • 数据库
  • 数据结构
  • 杂谈
  • 移动开发
  • 移动测试
  • 诗词歌赋
  • 软件测试
  • 逸笔挥墨
  • 随摘

COPYRIGHT © 2013-2021 Titan. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备20001822号-1

豫公网安备 41010502004418号