- 用希尔排序法对一组数据由小到大进行排序,数据分别为69、56、12、136、3、55、46、99、88、25。 希尔排序的全过程如下: 代码实现: /*第九天、希尔排序*/ #include <stdio.h> #include <stdlib.h> /******************... 用希尔排序法对一组数据由小到大进行排序,数据分别为69、56、12、136、3、55、46、99、88、25。 希尔排序的全过程如下: 代码实现: /*第九天、希尔排序*/ #include <stdio.h> #include <stdlib.h> /******************...
- 前言 上一篇文章我们介绍了字典这个数据结构,这一篇文章我们接着来学习下另外一个数据结构,跳表。那么什么是跳表呢? 跳表的基本概念 跳表是一种有序的数据结构,它通过在每个节点中维持多个指向其他的节点指针,从而达到快速访问队尾的目的。 这么说是不是感觉有点云里雾里呢?那么我们详细解释下这个概念。 想象一下,对于一个单链表,如果我们要查找单链表中的某个结点,我们该怎么做... 前言 上一篇文章我们介绍了字典这个数据结构,这一篇文章我们接着来学习下另外一个数据结构,跳表。那么什么是跳表呢? 跳表的基本概念 跳表是一种有序的数据结构,它通过在每个节点中维持多个指向其他的节点指针,从而达到快速访问队尾的目的。 这么说是不是感觉有点云里雾里呢?那么我们详细解释下这个概念。 想象一下,对于一个单链表,如果我们要查找单链表中的某个结点,我们该怎么做...
- 快速排序算法及其优化 一、题目描述二、算法设计与分析三、核心代码四、结果与分析五、总结六、附录(Java源代码) 一、题目描述 当输入数据已经“几乎有序时”,插入排序很快,在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上一层的快速排序调用返回后,对整个数组运行插入排序完成排... 快速排序算法及其优化 一、题目描述二、算法设计与分析三、核心代码四、结果与分析五、总结六、附录(Java源代码) 一、题目描述 当输入数据已经“几乎有序时”,插入排序很快,在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上一层的快速排序调用返回后,对整个数组运行插入排序完成排...
- 一、题目描述 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。一个包含100,000个字符的文件,各字符出现频率不同,如下表所示: 有多种方式表示文件中的信息,若用0,1码表示字符的方法,即每个字符用唯一的一个0,1串表示。若采用定长编... 一、题目描述 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。一个包含100,000个字符的文件,各字符出现频率不同,如下表所示: 有多种方式表示文件中的信息,若用0,1码表示字符的方法,即每个字符用唯一的一个0,1串表示。若采用定长编...
- 前言 前面我们手写实现了一个单向队列,一个循环队列,今天我们再手写实现一个阻塞队列。顾名思义,阻塞队列就是在普通队列的基础上加了阻塞功能。本文是为了后面看ArrayBlockingQueue的源码做的前期准备。 阻塞队列 阻塞队列顾名思义就是一个具有阻塞功能的队列,当队满时,对这个队列的入队操作就要被阻塞,当队空时,对这个队列的出队操作就要被阻塞。那么阻塞队列是如... 前言 前面我们手写实现了一个单向队列,一个循环队列,今天我们再手写实现一个阻塞队列。顾名思义,阻塞队列就是在普通队列的基础上加了阻塞功能。本文是为了后面看ArrayBlockingQueue的源码做的前期准备。 阻塞队列 阻塞队列顾名思义就是一个具有阻塞功能的队列,当队满时,对这个队列的入队操作就要被阻塞,当队空时,对这个队列的出队操作就要被阻塞。那么阻塞队列是如...
- 线性表 前面我们学习了链表的相关知识,今天我们接着来学习另外一种数据结构-----》队列。其实,不管是数组还是链表,都是属于线性表,那么什么是线性表呢?线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时,该线性表是一个空表。若用 L 命名线性表,则其一般表示如下: L = ( a1 , a2 , a3 , … , a(i) ,... 线性表 前面我们学习了链表的相关知识,今天我们接着来学习另外一种数据结构-----》队列。其实,不管是数组还是链表,都是属于线性表,那么什么是线性表呢?线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时,该线性表是一个空表。若用 L 命名线性表,则其一般表示如下: L = ( a1 , a2 , a3 , … , a(i) ,...
- 循环队列定义 上一篇我们利用数组和链表分别实现了一个单向队列。今天我们接着来看看另外一个队列,循环队列,循环队列就是,其实循环队列就是将单向队列拉成一个环。我们知道,在单向队列中,当tail==n,表示队列已满,就需要进行数据的迁移。而如果是循环队列的话,则不需要进行数据的迁移。 循环队列说明 如下图所示,将一个长度为7的链表,链表中已有a,b,c三个元素,hea... 循环队列定义 上一篇我们利用数组和链表分别实现了一个单向队列。今天我们接着来看看另外一个队列,循环队列,循环队列就是,其实循环队列就是将单向队列拉成一个环。我们知道,在单向队列中,当tail==n,表示队列已满,就需要进行数据的迁移。而如果是循环队列的话,则不需要进行数据的迁移。 循环队列说明 如下图所示,将一个长度为7的链表,链表中已有a,b,c三个元素,hea...
- 前言 周末被社会的皮鞭狠狠的抽打了几下。人微言轻,为生计奔波,劳碌一生。富则妻妾成群,穷则孤独一生。个人牢骚。今天接着来学习Redis的第三篇,字典的数据结构。字典的数据结构其实完全可以类比Java中的HashMap数据结构,两者都是哈希表。 字典 简介说明 字典,又称为符号表 ,关联数组或映射。是一种用于保存键值对(key-value pair)的抽象数据结构... 前言 周末被社会的皮鞭狠狠的抽打了几下。人微言轻,为生计奔波,劳碌一生。富则妻妾成群,穷则孤独一生。个人牢骚。今天接着来学习Redis的第三篇,字典的数据结构。字典的数据结构其实完全可以类比Java中的HashMap数据结构,两者都是哈希表。 字典 简介说明 字典,又称为符号表 ,关联数组或映射。是一种用于保存键值对(key-value pair)的抽象数据结构...
- 前言 Redis用了这么久,一直没有认真的去了解其内部的数据结构和实现原理。从今天开始正式系统性的学习Redis。首先,还是从工作中经常打交道的数据类型开始说起,然后,在说到其内部使用的数据结构。 Redis的简介 Redis是一个开源的高性能的key-value数据库,与其他的key-value缓存产品相比有以下三个特点: Redis支持数据的持久化,可以将内... 前言 Redis用了这么久,一直没有认真的去了解其内部的数据结构和实现原理。从今天开始正式系统性的学习Redis。首先,还是从工作中经常打交道的数据类型开始说起,然后,在说到其内部使用的数据结构。 Redis的简介 Redis是一个开源的高性能的key-value数据库,与其他的key-value缓存产品相比有以下三个特点: Redis支持数据的持久化,可以将内...
- 函数原型: int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle ); 注:应先将项目属性中的字符集属性改为多字符集(Unicode)。 参数解释: hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。lpText:指向... 函数原型: int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle ); 注:应先将项目属性中的字符集属性改为多字符集(Unicode)。 参数解释: hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。lpText:指向...
- 前言 上一篇文章我们学习了Redis的数据结构之简单动态字符串,这一篇我们接着来学习Redis中另外一个数据结构-链表。链表有很多种,首先,本文会首先回顾一下一些常见的链表,接着就是介绍Redis中的链表的结构。 链表回顾 链表和数组 数组时需要一块连续的内存空间来存储的,而链表值需要零散的内存碎片,数组的插入和删除的时间复杂度是0(n),查询的某个元素的时间复... 前言 上一篇文章我们学习了Redis的数据结构之简单动态字符串,这一篇我们接着来学习Redis中另外一个数据结构-链表。链表有很多种,首先,本文会首先回顾一下一些常见的链表,接着就是介绍Redis中的链表的结构。 链表回顾 链表和数组 数组时需要一块连续的内存空间来存储的,而链表值需要零散的内存碎片,数组的插入和删除的时间复杂度是0(n),查询的某个元素的时间复...
- 前言 前面我们学习了Redis04-Redis的数据结构之跳表,跳表这种数据结构,这篇我文章我们来学习另外一种数据结构----整数集合。 整数集合的概念 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Red... 前言 前面我们学习了Redis04-Redis的数据结构之跳表,跳表这种数据结构,这篇我文章我们来学习另外一种数据结构----整数集合。 整数集合的概念 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Red...
- 计算机常用算法大致有两大类,一类叫蛮力算法,一类叫贪心算法,前者常使用的手段就是搜索,对全部解空间进行地毯式搜索,直到找到指定解或最优解。 【建立解空间】 问题的解应该如何描述,如何建立?借助图论的思想,我们可以用图来描述,图的定义为G,由顶点集和边集构成,顶点即实实在在的数 据、对象,而边可以抽象为关系,即顶点间的关系,这种关系不一定非要在数据结构上表现出来,用数... 计算机常用算法大致有两大类,一类叫蛮力算法,一类叫贪心算法,前者常使用的手段就是搜索,对全部解空间进行地毯式搜索,直到找到指定解或最优解。 【建立解空间】 问题的解应该如何描述,如何建立?借助图论的思想,我们可以用图来描述,图的定义为G,由顶点集和边集构成,顶点即实实在在的数 据、对象,而边可以抽象为关系,即顶点间的关系,这种关系不一定非要在数据结构上表现出来,用数...
- Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0 < n < = 10000),... Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0 < n < = 10000),...
- /**有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后, **/ #include <stdio.h> #include <stdlib.h> int main() { float *aa(int (*p)[4],int n); float a[3][4]={{50,99,80,50},{55,60,85,90},{10,54,74,26}}; flo... /**有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后, **/ #include <stdio.h> #include <stdlib.h> int main() { float *aa(int (*p)[4],int n); float a[3][4]={{50,99,80,50},{55,60,85,90},{10,54,74,26}}; flo...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签