
计算机基础
文章平均质量分 78
计算机科学与技术必会知识
村雨遥
优快云 博客专家,专注但不仅限于 Java 技术领域的分享。
展开
-
数据结构与算法:算法简介
什么是算法?简单来讲,算法就是用于描述解决问题的方法。而现今普遍对算法的定义为:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令含有一个或多个操作。若存在函数f(n)f(n)f(n),使得当nnn趋向无穷大时,T(n)/f(n)T(n)/f(n)的极限值为不等于 0 的常数,则称f(n)f(n)f(n)是T(n)T(n)T(n)的同数量级函数,记作T(n)=O(f(n))原创 2022-05-11 22:21:31 · 2167 阅读 · 0 评论 -
数据结构与算法:数据结构简介
一起来看看,什么是数据结构原创 2022-05-03 08:00:00 · 448 阅读 · 0 评论 -
【数据结构与算法】如何给有序数组去重
以上就是 3 种去除有序数组中重复元素的三种算法,其中既有以时间换空间的数组原地操作法,也有空间换时间的普通方法,最后的话则是有一种综合前两种方法优点的方法 - 双指针。通过双指针方法,既能保证空间复杂度为O(1)O(1)O(1),也将时间复杂度限制在了O(n)O(n)O(n)。想不到连简单的数组去重都有这么大的学问,我们在日常学习时,大多可能只关注于如何实现功能即可。但如果要应用到工作场景中,可能就需要考虑效率问题,此时则需要根据我们的具体需求来进行选择了。原创 2021-05-19 10:42:20 · 926 阅读 · 0 评论 -
二叉树的 4 种遍历
二叉树作为一种重要的数据结构,在算法中起到了承前启后的作用,它是数组和链表的延伸,也是图的基础。所以学习二叉树的相关知识是十分有必要的,而在相关的操作中,二叉树的遍历是最频繁的,今天就来看看二叉树的 4 种遍历方法!以上就是数据结构二叉树的 4 种遍历,如果你有更多关于各种遍历的实现,欢迎留言交流呀!原创 2020-08-13 12:06:04 · 482 阅读 · 0 评论 -
链表是啥?如何搞定它?
链表是一种递归的数据结构,或者为空null,或者指向一个结点(node)的引用,一个结点含有一个泛型元素和一个指向另一条链表的引用。单向链表:结点被分成两个部分。第一个部分保存或者显示关于结点的信息,第二个部分存储下一个结点的地址,只能向一个方向遍历。双向链表:每个数据结点中都有两个指针,分别指向直接后继和直接前驱。循环链表:一种链式存储结构,它的最后一个结点指向头结点,形成一个环。原创 2020-07-06 14:06:54 · 363 阅读 · 0 评论 -
数据结构与算法之数组篇
文章目录1. 数组简介2. 数组的常见操作2.1 按照下标随机访问操作2.2 数组的插入2.3 数组的删除2.4 数组的更新3. 总结1. 数组简介数组(Array)是一种 线性表(将数据排成一条线一样的结构) 数据结构,用一组 连续内存空间 来存储一组具有 相同类型 的数据。2. 数组的常见操作数组最常见的操作无非增删改差,下面分别来对各个操作进行介绍,假设数组类的定义如下:public class Array{ // 用于保存数据 public int data[];原创 2020-06-27 18:44:44 · 465 阅读 · 0 评论 -
什么是时间复杂度和空间复杂度?
所谓算法,其实就是我们用来操作数据、解决程序问题的一组方法。针对同一个问题,我们可以采用不同的算法,然后实现相同的结果。但是针对不同的算法,对于时间和资源的消耗却有不同的差别。而为了分析不同算法的效率,我们常常从时间和空间两个方面来对比,然后从中挑出最适合我们的解决方案。本文主要从时间复杂度和空间复杂度的定义说起,然后介绍常见的时间复杂度和空间复杂度,最后则是对常见排序算法进行了总结。若存在函数f(n)f(n)f(n),使得当nnn趋向无穷大时,T(n)/f(n)T。原创 2020-06-26 15:40:29 · 1086 阅读 · 1 评论 -
【数据结构与算法】数组的增删改查
作为重要的线性数据结构, 我们经常会跟数组打交道。所谓数组,就是一系列相同数据类型元素的集合,数据类型可以是int、float、String、类……。而对数组的增删改查则是日常用到的操作。为了弄清楚这些常用操作,此博客则对这些操作进行一一梳理。dataType:也就是我们数组中元素的数据类型;arrName:即数组名;size:即数组所能容纳的元素数量;new:Java 语言中的关键词;假设我们要创建一个由 10 个元素的数组,其中元素的数据类型为int。原创 2020-04-29 15:33:42 · 1294 阅读 · 2 评论 -
Git 使用笔记
简介定义Git,最先进的分布式版本控制系统之一,最初是由Linux之父Linus为了更好管理开源Linux系统而开发的一个软件;下载:https://git-scm.com/downloads安装Linux:sudo apt-get install gitWindows、macOS通过官网下载安装包后进行安装即可;设置 安装完成后,需要进行以下设置:```$...原创 2019-09-22 13:51:50 · 1083 阅读 · 0 评论 -
Github 加载及下载慢问题解决方案
问题对于我们国内用户,有时候浏览器在进入github网站时,会出现无法加载或加载很慢的问题,针对这一问题,很是头疼,为解决这一问题,在网上搜索到的解决方法如下;解决方案修改hosts文件,在hosts文件中加入以下内容:# GitHub Start# 针对无法加载或加载慢的问题192.30.253.112 github.com192.30.253.119 gist.g...原创 2019-09-20 16:45:31 · 1625 阅读 · 0 评论 -
Vim 简单使用指南
特点无图形界面;只能编辑文本内容,不能进行排版;不支持鼠标操作;无菜单、只有命令;工作模式命令模式:对文件进行常规编辑操作,如定位、翻页、复制等,是vim的入口;末行模式:执行保存、退出等功能,是vim的出口;编辑模式:正常的文字编辑功能;命令及对应功能功能命令打开文件并定位行vim fileName + row保存w退出,未保存不许...原创 2018-10-06 22:40:55 · 658 阅读 · 0 评论 -
Linux 基础使用指南
操作系统定义:操作系统是一个特殊软件,它作为接口供程序员开发使用;作用:1、直接操作硬件;2、把操作硬件的代码封装成系统调用,供其他程序员通过系统调用间接操作硬件;分类:1、桌面:Windows、macOs、Linux;2、服务器:Linux、Windows Server;3、嵌入式:Linux;4、移动设备:iOS、Andro;Linux内核及发行版内核...原创 2018-10-06 08:52:59 · 509 阅读 · 0 评论 -
Linux 文件系统分层标准(FHS)
对于刚接触Linux系统的我们来说,时常被Linux的系统结构搞得晕头转向,下面这张图介绍了Linux的文件系统分层标准,希望对你有所帮助。原创 2018-08-09 11:35:13 · 872 阅读 · 0 评论 -
MySQL 修改 root 密码的方法
在我们使用MySQL时,常常会因为不同的原因需要对root用户密码进行修改,这篇博客主要介绍了几种修改root用户密码的方式。未设置root密码之前:SET PASSWORD命令的方式:mysql -u rootmysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你要设置的密码');mysqladmin命令的...原创 2018-05-16 14:09:22 · 507 阅读 · 1 评论 -
Socket 在服务器端和客户端之间的基本工作原理
Socket之间的连接过程主要可以概括为以下三步:服务器建立监听:客户端初始化Socket动态库后创建套接字,然后指定客户端Socket的地址,循环绑定Socket直至成功,然后开始建立监听,此时客户端处于等待状态,实时监控网络状态;客户端提出请求:客户端的Socket向服务器端提出连接请求,此时客户端描述出它所要连接的Socket,指出要连接的Socket的相关属性,然后向服务器端S...原创 2018-04-15 21:31:45 · 10481 阅读 · 0 评论