自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 从0开始的算法(数据结构和算法)基础(十一)

回溯算法,根据字面意思来理解这个算法是将每一步的操作可以进行回溯,实际上是对这个每一步的操作进行记录,确保可以返回上一步的操作,可能是对回溯操作之前的做一个复现,也有可能是可操作的回退,这个观点是错误的通过尝试不同的选择并记录当前状态,当遇到不符合要求的解时,能够回溯到之前的状态进行新的尝试,备份回退。特别适用于解决组合、排列、子集等问题。

2024-09-12 20:36:44 1116

原创 从0开始的算法(数据结构和算法)基础(十)

分治的字面意思是分而治之,将问题进行分化,从而进行处理,最后将结果进行合并。尽量的将问题分的不可以再分,分到和操作系统里面的原语是一样的,用较为多空间进行多线程的并行,节省时间运行。递归调用可能会导致较大的递归开销,特别是在递归深度较大的情况下,可能会导致栈溢出。在某些情况下,分治方法可能会导致对同一子问题的重复计算,从而降低效率。例如,在动态规划问题中,使用简单的分治方法可能会导致大量重复计算。

2024-09-12 00:24:20 940

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (六)

万变不离其宗,io服务器和客户端的交互,做一个小型的客服是足够的,实际生产中是需求产生代码,学习的时候想法驱动代码,加油。:当前的服务器代码是单线程的,这意味着只能同时处理一个客户端的请求。为了实现一个可与多个客户端并发交互的聊天室,我们需要为每个连接创建一个新的线程。:在等待输入时,服务器会被阻塞,无法响应其他客户端的请求,这导致了潜在的性能瓶颈。:随着连接的增加,服务器的响应时间可能会显著增加,不能满足高并发请求的需求。来处理多个用户的聊天信息。接口,每当有新的客户端连接时,主线程会创建一个新的。

2024-08-20 11:45:05 1124

原创 从0开始的算法(数据结构和算法)基础(九)

二分查找作为一种高效的搜索算法,在实际的软件工程中有着广泛的应用,特别是在需要快速查找的场景中。要么用时间换取空间,用空间换取时间,还是要看实际情况的,不过现在的情况就是空间便宜,时间成本贵追求效率,大多数时候都牺牲空间。:在用户体验至上的应用中,快速响应是关键,二分查找可以帮助构建高效的搜索功能,使得应用程序响应更快。:在需要频繁查找的场景中,二分查找可以显著减少查找时间,尤其是当数据量非常大且数据是有序的情况下。:作为许多算法的基础,二分查找常用于解决更复杂的问题,例如在数据结构如树、图中进行搜索。

2024-08-19 10:24:37 858 3

原创 从0开始的算法(数据结构和算法)基础(八)

说了这么久的数据结构,理论性比较强,下面我们来进入算法部分,运用之前学的数据结构来实现算法。今天的主体部分是排序,难度不大。

2024-08-14 15:29:31 997

原创 低代码开发平台,积极信号的传递

随着数字化转型的加速,企业对软件开发的需求日益增加。在这样的背景下,低代码开发平台的兴起引发了广泛的关注。我的观点认为低代码并未真正降低编程难度,编程的核心依然是逻辑、算法和数据结构,但不可否认的是,这一新兴技术再一次证明了。探讨低代码平台的基本概念、主要特点以及市场现状,并分析几个主流低代码平台的优缺点,探讨它们在不同场景下的适用性。

2024-08-12 09:15:34 974

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (五)

BS架构是指基于浏览器的网络架构模型,客户端通过浏览器访问服务器上的应用。服务器负责处理所有的业务逻辑和数据存储。CS架构是指一种网络架构模型,其中客户端(Client)和服务器(Server)之间通过网络进行交互。客户端通常是一个桌面应用程序,直接与服务器进行数据交换。Socket是网络通信的基础,通过Socket可以实现客户端与服务器之间的数据交换。在Java中,通过Socket和类可以方便地实现基于TCP的网络通信。

2024-08-09 15:04:00 857

原创 从0开始的算法(数据结构和算法)基础(七)

图是一种非线性数据结构,由顶点(也称为节点)和边(连接顶点的线)组成。在图论中,边的添加和删除、顶点的添加和删除是基本的操作。该矩阵的大小为 ( V \times V ),其中 ( V ) 是图中顶点的数量。他们之间的相关性没有那么高,链表的线性关系,树状图的派生关系。邻接矩阵是一个二维数组,其中的元素表示图中顶点之间的连接情况。表示从顶点 ( i ) 到顶点 ( j ) 的边的权重(若无边则为0或无穷大)。:传入 ( V ) 个顶点,初始化长度为 ( V ) 的顶点列表。时间复杂度为 ( O(1) )。

2024-08-08 15:05:48 777

原创 从0开始的算法(数据结构和算法)基础(六)

二叉树什么是二叉树       二叉树是一种非线性数据结构(层次关系结构),代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、左子节点引用和右子节点引用。 首先要明白什么是树,面向对象编程学过吧(c++、Java等),学过Java的更加符合一点,因为取消了多继承,父类和子类的管理图,画出来就是树状的。从一个根节点开始,逐级向下扩展的层次关系。部分家庭还会有家谱,像一

2024-08-06 10:02:22 1083

原创 360 AI助手引领混合大模型新时代

360的AI助手不仅引领了混合大模型的新时代,还通过灵活的模型选择和智能调度机制,提升了用户体验和应用效果。这种突破性的创新,将有望推动AI技术更快、更广泛地走进我们的生活,为百行千业和千家万户带来更多价值。360 AI助手的成功发布,标志着AI应用普惠的新篇章正式开启。

2024-08-05 11:50:10 1093

原创 从0开始的算法(数据结构和算法)基础(五)

哈希表(Hash Table)是一种数据结构,用于快速存储和查找数据。它通过将键(key)映射到数组中的索引位置来实现高效的查找、插入和删除操作。乍一看不明白很正常,如果你学过数据库就会觉得很熟悉,哈希表的功能拓展一下不就是数据库中的表。一维的哈希,组成二维的表,二维表组成关系数据库。而且数据库里面也有基于这个数据结构的哈希索引。再看一下sql语句,是不是两个重合了。

2024-08-02 17:14:33 677

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (四)

字节流适用于处理二进制数据,能够有效读取和写入原始字节,适合于文件传输和图像、音频等非文本数据的处理。字符流适用于处理文本数据,能够自动处理字符编码,适合于文本文件的读取和写入。用这个可以把文字处理,出错的概率比较低,字节流如果一个部分出现错位,有可能一片出错我们传输的形式已经讲完了,怎么进行信息处理。

2024-08-01 15:57:50 994

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (三)

每一个层次都有对应的协议,地域法律和宪法的关系,地域法律是上层,宪法是下层,上层部分要包括下层的所有内容。在网络通信的最高层,应用层协议负责处理特定类型的数据交流(客户端和服务器)。常见的端口号如FTP的21端口,HTTP的80端口和SMTP的25端口。:在数据链路层之上,网络层将数据封装成IP数据包,并将重要的网络标识信息(如IP地址)写入数据包中。:最终,应用层协议如FTP、HTTP和SMTP将应用标头写入数据包内,实现特定类型的数据交流。:用于电子邮件的发送和接收,保证邮件能够在不同服务器之间传输。

2024-07-31 10:31:05 717

原创 从0开始的算法(数据结构和算法)基础(四)

首先我们需要定义一个节点类,表示链表中的每个节点。每个节点包含值和指向下一个节点的指针。

2024-07-30 10:19:42 973

原创 从0开始的算法(数据结构和算法)基础(三)

循环的就是成环形的没有太大区别就不做赘述了,我们进一步完善了链表的操作,包括插入、删除和查找节点的功能,并为每种类型的链表提供了相应的测试代码。连续就是一片连续的空间,分散就是将内存分散来存储,两个在时间和空间上面有区别,一个通过连续的方式减少了在检索花费的时间,如数组一类的,索引本质上是内存地址的偏移量。内存管理是一个好的习惯,保证分配空间临时要回收,虽然储存现在比较便宜,很多的软件并不注意,导致缓存垃圾太大了,这种东西越大,发生问题的可能性就越大。单向链表的节点数据是不可变的,因此通常不需要更新操作。

2024-07-29 10:46:11 1010

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (二)

初次接触网络编程的小伙伴们,或者是对网络知识(url是什么?IP是什么?等等)云里雾里的朋友们,这一篇是一个基础知识的小科普,对网络的知识的一个解析,学了前端的部分知识的我,虽然可以写一部分内容,但是有部分的内容我压根不知道是啥。这篇不仅仅是一个基础也是一个剖析深入的一个过程。

2024-07-28 16:41:37 930

原创 从0开始的算法(数据结构和算法)基础(二)

快速排序在每次划分操作中,都会将数组分成两部分,平均情况下这需要对数次的划分操作,每次划分需要线性时间来处理,所以平均时间复杂度是 (O(n log n))。常数空间复杂度表示算法所需的额外空间不随输入规模的变化而变化。有时,算法的空间复杂度可能不仅仅是 (O(1)) 或 (O(n)),还可能是其他形式的复杂度。此处,每次迭代都将搜索范围减半,因此基本操作的执行次数是对数级别的,时间复杂度是 (O(log n))。二分查找算法的空间复杂度通常是 (O(\log n)),因为递归调用栈的深度是对数级别的。

2024-07-25 10:59:37 911

原创 从0开始的算法(数据结构和算法)基础(一)

根据计算机科学的标准定义,算法(Algorithm)是一系列定义明确的操作步骤,用于解决特定的计算问题。这个定义源自《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs)等经典计算机科学教材,强调了算法的精确性、有序性和有限性。

2024-07-24 11:24:10 772

原创 探索Java数据库连接(JDBC)基础

若想了解更多JDBC高级特性,如预处理语句(PreparedStatement)、事务管理、批处理操作等,建议查阅更详尽的文档或参考书籍。对于普通项目,您需要下载相应的jar包并将其添加到项目的类路径中。以上步骤概述了JDBC的基本流程,使Java应用程序能独立于底层数据库,通过标准API与之交互。在继续学习旅程时,建议深入研究各组件及其交互方式,以及如何在不同环境和需求中运用JDBC优化您的Java数据库应用程序。MySQL Connector/J jar包,并将其添加到您的项目中。

2024-07-22 11:43:29 573

原创 Git宝盒开启之旅:安装Git,拥抱GitHub与Gitee,版本控制新篇章(二)github使用

在数字化时代,版本管理已成为软件开发和项目管理的基石。GitHub,作为全球最大的代码托管平台,不仅提供了代码存储的空间,更是一个协作和版本控制的生态系统。本文将深入探讨如何在GitHub上进行高效的版本管理,以及一些实用的技巧和最佳实践。首先,你要确保自己电脑上安装了git,如果没有安装请看我的这一篇博文。

2024-07-22 11:26:52 1107

原创 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (一)

定义:BIO,即阻塞式IO,是Java网络编程的传统模型。它采用同步阻塞的方式进行IO操作,简单直观。特点:在执行IO操作时,线程会被阻塞,直至操作完成。这种模型虽然简单,但在高并发场景下性能受限。用途:BIO适用于对并发要求不高的简单应用,如小型网络服务或桌面应用。定义:NIO,非阻塞式IO,自Java 1.4起被引入,支持异步非阻塞的IO操作。特点:NIO通过选择器和通道机制,允许单一线程管理多个通道,显著提升并发处理能力。用途。

2024-07-22 00:10:18 805

原创 Git宝盒开启之旅:安装Git,拥抱GitHub与Gitee,版本控制新篇章

通过安装Git宝盒,并选择合适的平台如GitHub或Gitee,你可以享受到高效的版本控制服务,提升个人和团队的开发效率。Git宝盒将帮助你开启版本控制的新篇章,让你的编程之旅更加顺畅。后续文章更新中。

2024-07-18 10:11:12 603

原创 易编橙·终身成长社群,相遇、合作、成长

我是一名还未流入市场的大学生,面对着复杂多变的市场、层出不穷的市场需求、看花了眼睛、学着多年几乎未变的知识课本,面对的市场经济下行的压力,陷入了一种卷又卷不过、躺又躺不平的一个状态中,我不知道我学的东西能帮我做什么能完成什么的状态。苦苦在人海里面浮沉想着谋一份出路。至少在自己会的专业上面能够做出一份满意的事情。易编橙·终身成长社群灌水:在过去的三年时间里辅导服务超3000人在编程领域的职业规划、择业定位、简历辅导、模拟面试、技术提升、瓶颈突破的破惘,帮助众多小伙伴告别迷茫与职业焦虑,成就更好的自己。

2024-07-13 13:52:57 1056

原创 java学习

了解JDBC(Java Database Connectivity)在Java中的使用是数据库编程的基础。

2023-12-18 13:47:37 65 1

原创 克服困惑与焦虑:自信与成长的道路

同时,也要明白每个人都有他们自己的努力和奋斗,我们只看到了他们成功的一面,而并未完全了解他们付出的努力。在这种情况下,我们可以回顾一下过去所掌握的知识和技能,比较自己现在的水平,这样有助于我们认识到自己已经有了很大的进步。接受自己的能力和进展,理解每个人都有他们自己的学习曲线,将焦虑转化为积极的学习动力。学会思考和解决问题的能力,学会灵活运用所学的知识和技能,培养好奇心和求知欲,这些才是真正能够帮助我们成长。保持积极的态度和心态,持之以恒地努力学习和进步,相信自己可以达到自己的目标和追求。

2023-08-03 16:55:59 105

原创 AI进行创业,可行性方案

现在由国内外chat GPT所带火的一系列AI创作进入了爆发期。而且可以通过低时间低成本达到计划成型的要求,可以通过第1步先问GPT自己开店所需要的步骤,通过他给出的步骤,完善内容,给出个人创业所要的核心,当中他会给出细节,你也可以通过与他的对话中加入自己所想要的细节,让其完善步骤,还可以让它列出哪些步骤可以使用AI进行辅助,创业内容的命名,图标都可以通过AI进行生成,然后利用这些内容进行市场测评,可以等结果出来以后再去做产品并进行优化,降低了很大的成本。你还可以向他提出需求。

2023-05-03 12:04:49 391 1

原创 C语言大整数运算

在上面的代码中,我们定义了一个sub()函数,该函数接受两个大整数a和b,并将它们相减后存储到结果数组res中。从最低位开始遍历两个大整数,依次相减,并将结果存储到结果数组中。在C语言中,通常使用数组来存储大整数,并通过编写相应的函数实现加、减、乘、除等运算。在上面的代码中,我们定义了一个add()函数,该函数接受两个大整数a和b,并将它们相加后存储到结果数组res中。总之,在进行大整数运算时需要注意细节,并且需要编写相应的函数来实现各种运算。即从高位开始逐步计算商和余数,并将结果存储到对应的数组中。

2023-04-15 22:55:44 3432 4

原创 任意长度数据进制转化为十进制

对初学者来说进制之间的转化很多时候因为长度不超过int\long类型的长度很多时候都都是数据对10取余取出最后一位后进行累乘累加后进行,但是对于工程来说long long的长度也相差甚远,这时候就需要用char类型的数组以字符串的形式进行输入,在处理字符类型的数据时要用#include <string.h>的头文件,或者将单字符数据转化为整形 b=a-'0';

2023-04-14 18:14:01 266 1

原创 编程语言初选择

对于新手来说,如何选择自己的第1门编程语言是很重要的,如果你是计科类专业,那么你的第一选择是c语言,如果你是非计科类专业,平时只是需要用到编程类的辅助,那么建议使用Python。 对于技科类专业的学生来说,编程一定是重中之重, C语言对我们来说,是接近于机械逻辑的编程语言,数据类型丰富,代码量小,有极高的逻辑性,运行速度也快,其中精华所在是指针。Python是后面出来的集合性编程语言,它的可移植性差,运行速度慢,但是较为简单,易于上手,更为接近于人类语言辅助作用很强。 计科类专业

2023-03-06 14:42:39 84

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除