
算法与数据结构
文章平均质量分 79
格子衫111
梦想不能只是梦和想...
展开
-
RSA加密算法介绍及Java工具类
RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。在RAS算法中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。原创 2022-11-22 14:26:25 · 3105 阅读 · 3 评论 -
手写HashMap(基于JDK1.7)
Java7 : 数组 + 链表Java8 : 数组 + 链表 或 红黑树 (链表超过8则转为红黑树,小于6则变会链表) >> 加快查询原创 2022-09-28 17:35:33 · 585 阅读 · 0 评论 -
02_数据结构与算法之链表
1、什么是链表链表(linked list)是一种在物理上非连续、非顺序的数据结构,由若干节点(node)所组成。链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。(百度百科)常见的链表包括:单链表、双向链表、循环链表1)单链表单向链表的每一个节点又包含两部分,一部分是存放数据的变量data,另一部分是指向下一个节点的指针next原创 2021-09-08 22:56:42 · 267 阅读 · 0 评论 -
02_数据结构与算法之数组
1、什么是数组数组(Array)是有限个相同类型的变量所组成的有序集合,数组中的每一个变量被称为元素。数组是最为简单、最为常用的数据结构。数组下标从零开始(Why)2、存储原理数组用一组连续的内存空间来存储一组具有相同类型的数据(模拟内存存储)灰色格子:被使用的内存橙色格子:空闲的内存红色格子:数组占用的内存数组可以根据下标随机访问数据比如一个整型数据 int[] 长度为5假设首地址是:1000int是4字节(32位),实际内存存储是位随机元素寻址a[i]_address=原创 2021-09-07 22:57:37 · 294 阅读 · 0 评论 -
01_数据结构与算法介绍
一、数据结构介绍1.什么是数据结构数据结构(datastructure)是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。(百度百科)一句话解释:存数据的,而且是在内存中存!2.常见的数据结构二、算法介绍1.什么是算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。一句话描述:算法是一种解决特定问题的思路比如:LRU算法,最近最少使用,解决的就是当空间不够用时,应该原创 2021-09-06 22:58:10 · 557 阅读 · 3 评论 -
面试官:手写一个冒泡排序,并对其改进
核心思想(升序):从首位置开始,依次比较前后两个数,如果前面的数比后面的数大,就交换两个数。这样第1轮结束后,最大的数就会移动到最后的位置。对剩余元素重复执行N-1次,整个数组有序。因为像空气上浮到水面,最大的元素会慢慢浮到最后,所以冒泡因此得名。冒泡排序是比较简单的一种排序算法,核心思想就是比较相邻的两个数,但效率比较低所以可做一些优化。时间复杂度为O(N^2),数据规模较小时可采用,但数据过大时就不建议采用冒泡了。原始:```javapublic class MaopaoTest {.原创 2021-06-02 11:57:00 · 385 阅读 · 0 评论