首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「慕K体系」计算机基础课-算法

数据结构与算法计算机科学的基础。包括堆、优先队列、各种排序算法(堆排序、冒泡排序、希尔排序)、线段树、Trie树、并查集、AVL树及红黑树。...常见应用包括:CPU任务调度路径查找算法(如Dijkstra算法)实时事件处理堆排序3.1 堆排序的原理堆排序利用堆的性质来排序数组。具体步骤如下:构建最大堆。...usagearr = [12, 11, 13, 5, 6, 7]heap_sort(arr)print("Sorted array is:", arr)冒泡排序4.1 冒泡排序的原理冒泡排序是一种简单的排序算法...break# Example usagearr = [64, 34, 25, 12, 22, 11, 90]bubble_sort(arr)print("Sorted array is:", arr)慕课计算机基础课...10) # Update index 2 to value 10print("Sum of range (1, 4):", seg_tree.query(1, 4)) # Output: 16慕课计算机基础

10310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    算法基础-基础算法

    for (auto x : a) cout << x << " "; return 0; } ---- 02.第k个数 题目描述 给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第...这里可以运用我们性价比最高,代码最好写,效率特高的归并排序算法 归并排序中的左数组和右数组在内部都是有序且相对原数组中的位置都是从左到右的,我们可以利用这一性质当我们判断左数组中的某一个元素(下标为i)...l = mid + 1; // r = mid - 1; } // 如果是整数二分最终得到的l和r必定相等而且满足 check(l) 且 check(r); 当然本题用c++的算法库的二分查找函数...r + 1 >> 1; if(a[mid] <= x) l = mid; else r = mid - 1; } cout << l << endl; } } 算法库二分...l); return 0; } 高精度 01.高精度加法 02.高精度减法 03.高精度乘法 04.高精度除法 前缀和与差分 01.前缀和 02.子矩阵的和 03.差分 04.差分矩阵 双指针算法

    1.5K40

    计算机基础

    排序算法 image.png 经典排序算法 快排 2. 结构 堆和栈区别 堆 Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。...0 基础问题 1....操作系统的目标和功能 操作系统作为计算机系统资源的管理者 处理机管理 处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。...页面置换算法: 最佳置换:以后不用的 先进先出 最近最久未使用(LRU) 时钟算法 虚拟存储器 定义:基于局部性原理,程序装入时,可将程序的一部分装入内存,将其余部分留在外存,需要时再调入。...文件管理(磁盘) 磁盘调度算法 先来先服务 最短寻道时间 扫描算法:磁头移动方向上,选择与磁头所在磁道最近的。 循环扫描: 四、计网 1.

    57530

    计算机基础

    一、为什么要有计算机 为什么要有计算机计算机可以做一些重复性的工作,且执行效率比人高,成本更低,更可靠,一般不会出现什么意外。...为什么:操作系统的出现是为了简化计算机硬件的操作(协调、管理、调度),        把程序员从复杂的计算机基础指令上解放出来,做更多事。...三、一套完整的计算机系统由哪几部分组成    1.应用程序(程序员开发好的程序)    2.操作系统(严格意义上来讲也是应用程序,但它针对的是计算机硬件)     3.计算机硬件(鼠标、键盘、内存、CPU...等) 四、计算机的五大组成部分    1.控制器:计算机的控制系统。   ...2.运算器:计算机的运算系统。       处理计算机的逻辑运算与数字运算。    3.存储器:计算机的存储系统。

    45020

    计算机基础

    前言 本文围绕计算机的发展以及计算机中信息的表示形式对计算机进行简述。...三.计算机的基本结构与工作原理 现代计算机基本结构的奠基人——冯·诺伊曼,对于计算机的基本结构拥有详细的解释。主要是以下三点: 1.计算机采用二进制为基础,而不是使用十进制 2....“存储程序控制”思想:鉴于二进制的基础,程序设计者需要将程序和数据以二进制的形式存放在计算机的存储器中,让计算机自动执行程序,从而完成预定工作。...当我们第一次拥有了一台电脑的时候,肯定会感到疑惑它要如何运行的,其实就是在操作系统的帮助下,用户才无需直接操作计算机的硬件,从而实现操作;另一方面,计算机中所有的软件都是基于操作系统的基础才得以安装与服务...3.存储功能强 计算机能存储各个形式的数据,像数字、图像、音频等等。 4.具有逻辑判断能力 计算机底层的运行逻辑就是算法,然而算法实际上就是逻辑的一种体现。

    9710

    计算机基础是什么,计算机基础的作用

    在日常的生活当中,我们或多或少都会接触到计算机,在现在很多人的家里面都会有计算机的存在,但还是有很多的人对于计算机基础很不了解,下面我们就对于计算机基础有一个简单的介绍。...image.png 计算机基础是什么 计算机基础主要是关于计算机的一些基本知识,以及会学到一些关于计算机的原理知识,学习计算机基础,我们一般会接触到计算机操作系统,像是我们日常生活中熟知的办公软件,...有Word,Excel等等,在学习了计算机基础之后,我们就可以进行一些简单的计算机应用操作了。...计算机基础的作用 计算机基础的作用是相当大的,很多人在学习计算机之前,都会先学习计算机基础,它是进行一些高级操作的前提,如果说作为一个程序员,连计算机基础都没有掌握好,那么在编写程序的时候肯定是一头雾水...能够学习有关计算机基础方面的知识,有时候对于我们的日常生活和工作都是有非常大的帮助,在上面,我们已经向大家介绍了计算机基础是什么,计算机的作用,希望这些内容能够帮助到大家。

    2.2K20

    计算机基础——计算机分类

    前言 本章将会讲解计算机分类应用领域以及发展趋势 一.计算机分类 计算机并非只有日常所见的服务器、个人计算机等,还有一些在计算,连接领域的专有计算机。...1.超级计算机 顾名思义,所谓超级计算机是指能够处理大量数据,并且可以进行高速运算的计算机。...超级计算机具有很强的计算和处理数据的能力,其基本组件与个人计算机的概念无太大差异,但其性能则强大许多,超级计算机一般配有多种外围设备和高效能的软件系统,现有的超级计算机运算速度大都可以达到每秒一太(Trillion...也就是说,路由器具有判断网络地址和选择P路径的功能,路由器利用路由表为数据传输选择路径,路由表包含网络地址及各地址之间距离的清单,路由器利用路由表查找数据包从当前位置到目的地址的正确路径,路由器使用最少时间算法或最优路径算法来调整信息传递的路径...5.嵌入式系统 嵌入式系统(Embedded Systems)是以应用为中心,以微处理器为基础的专用计算机系统,它是计算机市场中增长最快的领城,并且种类繁多,嵌入式系统几乎包括了生活中的所有电气设备。

    26610

    计算机基础(一)

    计算机基础(一)     最近准备配置一台台式机,就看了一下《鸟哥的linux私房菜:基础学习篇 (第四版)》,觉得里面写的挺好,本篇博客均摘自此书。...一、简介 1、概念 1.电脑     所谓的电脑就是一种计算机,而计算机其实是:接受使用者输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。...2.大型计算机(Mainframe Computer)     大型计算机通常也具有数个高速的CPU,功能上虽不及超级计算机,但也可用来处理大量数据与复杂的运算。     ...3.迷你电脑(Minicomputer)     迷你电脑仍保有大型计算机同时支持多使用者的特性,但是主机可以放在一般作业场所,不必像前两个大型计算机需要特殊的空调场所。...下一篇:计算机基础(二)

    94370

    计算机编码基础

    一、为何需要编码           由于计算机只能识别0和1,所以我们所有得字符和数据都是转换成二进制0和1的序列存放在计算机中的,但是我们在如何区分他们上产生了问题。...不是不可以,难度很大,完全违背了我们使用计算机的初衷了。...于是,我们可以规定每个字符的二进制序列,并把它存在计算机内,当需要将二进制位转换成我们能看懂的字符数据时,让计算机去截取二进制位查找对应的表,翻译成我们看的懂的数据。...这规定字符的二进制序列就是一种编码行为,让计算机翻译就是一种解码行为。...二、ASCll 编码           我们都知道,计算机是美国人民发明的,所以他们在设计计算机编码的时候并没有考虑到给别的国家人用(尤其是我们第三世界国家人民)。

    92390

    计算机编程基础

    计算机编程基础 1.编程语言 1.1编程 编程:就是计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。...计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是我们所掌握的语言来编写的,所以人们控制计算机一定要通过计算机语言向计算机发出命令。 从事编程的人员,就是程序员。...1.2 计算机语言 计算机语言是指用于人与人之间通讯的语言,它是人与计算机之间传递信息的媒介。 计算机语言的种类非常的多,总的来说可以分割成机器语言、汇编语言和高级语言三大类。...实际上计算机最终所执行的都是机器语言,它是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。...编程语言是主动的有很强的逻辑性 2.计算机基础 2.1计算机组成 硬件: 输入设备:鼠标、键盘、手写板、摄像头等 输出设备:显示器、打印机、投影仪等 cpu:负责处理数据与运算

    59120

    计算机文化基础

    信息高速公路是美国政府1993年提出的国家信息基础设施(NII)的通俗说法。 1.1.4计算机文化的内涵  20世纪80年代初,在瑞士洛桑召开的第三届世界计算机教育大会上提出了“计算机文化”。  ...6)通用性强  通用性是计算机能够应用于各种领域的基础,任何复杂的任务都可以分解为大量的基本的算术运算和逻辑运算。...这些部件和设备依据计算机系统结构的要求,构成一个有机整体,称为计算机硬件系统。  未配置任何软件的计算机叫裸机,它是计算机完成工作的物质基础。  ...Access是系统软件 Word PPT Excel是应用软件 程序设计语言 程序 = 算法 + 数据结构 算法:由有限个步骤组成的用来解决问题的具体过程 数据结构:从问题中抽象出来的数据之间的关系,...3分布式处理  对于综合性的大型科学计算和信息处理问题,可以采用一定的算法,将任务分给网络中不同的计算机,以达到均衡使用网络资源,实现分布处理的目的。

    79440

    算法基础

    随机化算法在内的一些算法,包含了一些随机输入。简单来说,算法就是一个计算过程,解决问题的方法。...算法的特征   一个算法应该具有五个重要的特征: 有穷性(Finiteness):算法的有穷性是指算法必须在执行有限的步骤之后终止。...算法的评定 同一问题可以用不同的算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。其一个算法的评价只要从(时间复杂度)和(空间复杂度)来考虑。...正确性:算法的正确性是评价一个算法优劣的最重要标准、 可读性:算法的可读性是指一个算法可供人们阅读的容易程度。 健壮性:健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。...Python中的算法排序 一般来说,时间复杂度高的算法比复杂度低的算法慢。

    48440

    基础算法】递归算法

    递归算法是一种直接或间接调用原算法算法,一个使用函数自身给出定义的函数被称为递归函数。利用递归算法可以将规模庞大的问题拆分成规模较小的问题,从而使问题简化。...虽然通过递归算法结构简单,已于理解和实现,但是由于需要反复调用自身,所以运行效率较低,时间复杂度和空间复杂度较高,在使用时应考虑效率和性能问题。...---- 解决数组全排列问题最经典的方法是递归算法,因为数组的全排列问题具有很明显的递归特性。...总结 递归问题求解分两个部分: 分析问题求解的步骤,如梵塔问题,按照分析得到的步骤写算法即可。 分析递归结束的条件,放到递归函数的前面,以便及时退出。...总结这三个递归算法之后,发现其实真就按照分析的思路来,把这些步骤转换成计算机语言就可以。 递归挺费脑子的,还是得多练多总结。

    35810

    算法基础-算法分析

    算法 什么是算法 算法是对特定问题求解步骤的一种描述,是执行的有限序列,其中每个指令都表示一个或多个操作。...这就是一种算法。 为什么要用算法 算法无处不在。 为了走出迷宫,你可能需要DFS,即深度优先搜索算法来寻找出路。 为了找到最短路径,你可能要用到A*算法来高效查找。...在计算机图形学中,每个像素点都相对独立,互不干扰,因此可以利用GPU多处理器的优势来加速执行。...算法效率 渐进时间复杂度 在一个算法中,若基本操作重复的次数可以表示为对问题规模n的函数 f(n) ,那么算法的时间度量就可以记作 T(n)=O(f(n)) 它表示随着问题规模n的增加,算法执行时间的增长率和...分治法 如果一个算法通过一次或多次调用自身来解决问题,那么这些算法就使用了分治法的思想。 分治法将一个问题划分为多个相类似但是规模更小的子问题。

    45610
    领券