- 这是一篇技术文,继续提升一下我们的内功。从之前一篇文章:我敢说,这图绝对跟你想象中的不太一样!。可以看到,图的边可以有方向,那么这一篇文章,我们来探讨一下边的另一个特性:权值。例如,如果带权图的顶点代表城市,边的权可能代表城市之间的距离,或者城市之间的路费,或者之间的车流量等等。带权图归根究底还是图,前一篇文章中那些图的基本操作,例如广度优先搜索和深度优先搜索等都是一样的,本文主要来探讨一下... 这是一篇技术文,继续提升一下我们的内功。从之前一篇文章:我敢说,这图绝对跟你想象中的不太一样!。可以看到,图的边可以有方向,那么这一篇文章,我们来探讨一下边的另一个特性:权值。例如,如果带权图的顶点代表城市,边的权可能代表城市之间的距离,或者城市之间的路费,或者之间的车流量等等。带权图归根究底还是图,前一篇文章中那些图的基本操作,例如广度优先搜索和深度优先搜索等都是一样的,本文主要来探讨一下...
- 我没骗你们,这个图的确不是你想象中的图。你想看什么图我还不知道? 不过,我的图却是大千世界,继续以通俗易懂的方式给你提升一波内功。不信你继续往下读。图是一种与树有些相像的数据结构,实际上,从数学意义上说,树是图的一种。然而在计算机程序设计中,图的应用方式与树不同。我前面一些文章中讨论的数据结构都有一个框架,这个框架都是由相应的算法设定的。比如说,二叉树是那样一个形状,就是因为那样的形状使它更... 我没骗你们,这个图的确不是你想象中的图。你想看什么图我还不知道? 不过,我的图却是大千世界,继续以通俗易懂的方式给你提升一波内功。不信你继续往下读。图是一种与树有些相像的数据结构,实际上,从数学意义上说,树是图的一种。然而在计算机程序设计中,图的应用方式与树不同。我前面一些文章中讨论的数据结构都有一个框架,这个框架都是由相应的算法设定的。比如说,二叉树是那样一个形状,就是因为那样的形状使它更...
- 说到堆这种数据结构,很多人的第一反应是感觉很复杂,其实不然,堆就是个优先级队列而已,或者,堆其实就是一种树。本文先讲原理,后面给出堆的实现代码。优先级队列可以用有序数组来实现,这种做法的问题是,尽管删除最大数据项的时间复杂度为O(1),但是插入还是需要较长的O(N)时间,这是因为必须移动数组中平均一半的数据项以插入新数据项,并在完成插入后,数组依然有序。本文主要介绍实现优先级队列的另一种结构... 说到堆这种数据结构,很多人的第一反应是感觉很复杂,其实不然,堆就是个优先级队列而已,或者,堆其实就是一种树。本文先讲原理,后面给出堆的实现代码。优先级队列可以用有序数组来实现,这种做法的问题是,尽管删除最大数据项的时间复杂度为O(1),但是插入还是需要较长的O(N)时间,这是因为必须移动数组中平均一半的数据项以插入新数据项,并在完成插入后,数组依然有序。本文主要介绍实现优先级队列的另一种结构...
- 昨天跟一个CSDN上的朋友聊天,他说现在如果让他自己手写一个栈或者队列,估计都要写蛮久的,平时虽然都在用,但是都是别人封装好的集合。确实,经典的数据结构,包括排序算法,虽然我们平时不用手写了,但是这些内功,作为开发人员来说是必须要掌握的。受此启发,我打算更一下经典数据结构和算法的系列文章。今天先从栈和队列说起。这些东西,挤地铁时,吃饭排队时,等公交时,可以拿来看看,或者,就把它当作个下午茶吧... 昨天跟一个CSDN上的朋友聊天,他说现在如果让他自己手写一个栈或者队列,估计都要写蛮久的,平时虽然都在用,但是都是别人封装好的集合。确实,经典的数据结构,包括排序算法,虽然我们平时不用手写了,但是这些内功,作为开发人员来说是必须要掌握的。受此启发,我打算更一下经典数据结构和算法的系列文章。今天先从栈和队列说起。这些东西,挤地铁时,吃饭排队时,等公交时,可以拿来看看,或者,就把它当作个下午茶吧...
- 今天带各位回顾一下线性数据结构:数组、链表、栈、队列,相信通过下面的文字,你会加深对这几种数据结构的认识。一 数组数组(Array) 是一种很常见的数据结构。它是由相同类型的元素(element)的集合所组成,并且被分配一块连续的内存来存储(与链表对比)。利用元素的索引(index)可以计算出该元素对应的存储地址。它的特点是提供随机访问并且容量有限。假如数组的长度为 n。访问:O(1)//访... 今天带各位回顾一下线性数据结构:数组、链表、栈、队列,相信通过下面的文字,你会加深对这几种数据结构的认识。一 数组数组(Array) 是一种很常见的数据结构。它是由相同类型的元素(element)的集合所组成,并且被分配一块连续的内存来存储(与链表对比)。利用元素的索引(index)可以计算出该元素对应的存储地址。它的特点是提供随机访问并且容量有限。假如数组的长度为 n。访问:O(1)//访...
- 追梦赤子心鹿晗 - 追梦赤子心随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农。这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般;也有些人从一般搬的学校毕业,但是水平很高,因为他们付出了比其他人更多的努力;也有些人,不管是好学校还是差学校,毕业了都跑去培训班培训了,出来的也是良莠不齐的。今天这篇文章,我们不从这些客观因素上去分析,... 追梦赤子心鹿晗 - 追梦赤子心随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农。这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般;也有些人从一般搬的学校毕业,但是水平很高,因为他们付出了比其他人更多的努力;也有些人,不管是好学校还是差学校,毕业了都跑去培训班培训了,出来的也是良莠不齐的。今天这篇文章,我们不从这些客观因素上去分析,...
- 今年5月,小灰出版了《漫画算法》这本纸质书。在今年年中,本书获得【京东科技新书畅销榜】第1名,【京东科技畅销榜】第4名,非常感谢大家的支持!但是有一点美中不足,小灰的这本《漫画算法》在当时只有纸质书,许多小伙伴问我有没有Kindle版的电子书,很遗憾当时还没有出电子书的计划。而今天,小灰要告诉大家一个好消息,《漫画算法》出Kindle电子版了!电子版的内容和纸质书完全相同,而且修正了第一次印... 今年5月,小灰出版了《漫画算法》这本纸质书。在今年年中,本书获得【京东科技新书畅销榜】第1名,【京东科技畅销榜】第4名,非常感谢大家的支持!但是有一点美中不足,小灰的这本《漫画算法》在当时只有纸质书,许多小伙伴问我有没有Kindle版的电子书,很遗憾当时还没有出电子书的计划。而今天,小灰要告诉大家一个好消息,《漫画算法》出Kindle电子版了!电子版的内容和纸质书完全相同,而且修正了第一次印...
- 参与文末话题讨论,每日赠送异步图书——异步小编作为软件开发人员,在面对全新的任务和挑战时,我们常常会将这些问题分解为自己所熟知的各类解决方案和代码片段,并根据客户需求和任务截止日期,制定最快的方案进行开发。但是,这样做只是单纯地完成了工作要求,有时对于学到更多的开发技巧和理念从而成为一名更优秀、更高效的开发者的帮助并没有想象中的那么大。为什么要学习数据结构?在计算机发展的初期,人们使用计算机... 参与文末话题讨论,每日赠送异步图书——异步小编作为软件开发人员,在面对全新的任务和挑战时,我们常常会将这些问题分解为自己所熟知的各类解决方案和代码片段,并根据客户需求和任务截止日期,制定最快的方案进行开发。但是,这样做只是单纯地完成了工作要求,有时对于学到更多的开发技巧和理念从而成为一名更优秀、更高效的开发者的帮助并没有想象中的那么大。为什么要学习数据结构?在计算机发展的初期,人们使用计算机...
- 本节书摘来自清华大学出版社《Hadoop权威指南:大数据的存储与分析》一书中第五章,第5.4.1节,作者是Tom White , 王 海 华 东 刘 喻 吕粤海 译。 本节书摘来自清华大学出版社《Hadoop权威指南:大数据的存储与分析》一书中第五章,第5.4.1节,作者是Tom White , 王 海 华 东 刘 喻 吕粤海 译。
- 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.4.2节,作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.4.2节,作者是李 鑫 祝惠娟。
- 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.4.1节,作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.4.1节,作者是李 鑫 祝惠娟。
- 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.3.2节,作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.3.2节,作者是李 鑫 祝惠娟。
- 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.3.1节,作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.3.1节,作者是李 鑫 祝惠娟。
- 算法是什么?可能大多数读者都不能准确地给算法下一个定义。其实在日常生活中,我们已经在无意中接触过算法,通过本文,让我们更加深入地领略算法的奥妙!我们首先介绍算法的基本概念以及它的重要性。接着,我们通过两个整数相乘的问题来说明精妙的算法是怎样改进那些简单或粗糙的解决方案的。然后,我们详细讨论了归并排序算法。之所以选择这个算法是出于下面这些理由:首先,它是一种非常实用并且非常有名的算法,是读者应... 算法是什么?可能大多数读者都不能准确地给算法下一个定义。其实在日常生活中,我们已经在无意中接触过算法,通过本文,让我们更加深入地领略算法的奥妙!我们首先介绍算法的基本概念以及它的重要性。接着,我们通过两个整数相乘的问题来说明精妙的算法是怎样改进那些简单或粗糙的解决方案的。然后,我们详细讨论了归并排序算法。之所以选择这个算法是出于下面这些理由:首先,它是一种非常实用并且非常有名的算法,是读者应...
- 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.1.1节,作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一书中第三章,第3.1.1节,作者是李 鑫 祝惠娟。
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
即将直播
热门标签