#数据结构与算法

Java多线程系列——原子类的实现(CAS算法)

1、什么是CAS?CAS:CompareandSwap,即比较再交换。jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK5之前Java语言是靠synchronized关键字保证同步的,这是一种独占锁,也是是悲观锁。2、...

Java 常用数据结构对象的实现原理 集合类 List Set Map 哪些线程安全 (美团面试题目)

Java中的集合包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。List、Set都继承自Collection接口,Collection(所有集合类的接口)Set(集)实现类主要有HashSet和TreeSetList(列表)实现类主要有...

[转载]十大编程算法助程序员走上高手之路

转载算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为...

累了吗?来挑战一下算法趣题,看看自己是哪个段位的程序猿吧!

 在这个日新月异的互联网时代中,但万变不离其宗的是,“算法”是其重要基石。要编写高效率的程序,就需要优化算法。无论开发工具如何进化,熟识并能灵活运用算法仍然是对程序员的基本要求。这里为那些已经学习过排序、搜索等知名算法,并想要学习更多有趣的算法,进一步提升编程技巧的工程师们准备了四道数学谜题形式的问题。这四道...

马斯克:有62%的程序员认为人工智能会被武器化 #精选AR人工智能算法

当地时间9月13日,马斯克在自己的个人推特账号上转推了一篇名为《HackersHaveAlreadyStartedtoWeaponizeArtificialIntelligence》(编译:黑客们已经开始武器化人工智能)的文章。以下为博客节选内容。 来自安全公司ZeroFOX的两位数据科学家进行了一次实验,他...

Redis 底层数据结构

 摘要:该篇博客贴了Redis中的底层数据结构,没有用文字来描述,可放大页面后查看。后面遇到需要补充和注意的地方,会持续更新...  参考资料:  [1]:TheDesignandImplementationofRedis 黄健宏...
代码星球 代码星球·2021-01-09

数据结构可视化软件

本次记录一下数据可视化软件,可以通过这个可视化软件清楚地看到一些数据结构的操作过程,比如红黑树的插入,旋转,调整等操作。url:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html...
代码星球 代码星球·2021-01-09

c++ 面试题(算法类)

1,从无序的数据流中找到其中位数:(用大根堆和小根堆来实现)1floatgetMidimum(vector<int>&nums){2priority_queue<int>bigHeap;//大数优先3priority_queue<int,vector<int>,grea...
代码星球 代码星球·2021-01-09

数学黑洞:卡普雷卡尔常数的php算法实现

首先看一篇文章:  英国广播公司报道,6174乍看没什么奇特之处,但是,自从1949年以来,它一直令数学家、数字控抓狂、痴迷。 不管你挑的四位数是什么,早早晚晚你都会遇到6174;而且,遇到6174就只能止步,否则面临的将是无休无止的无用功了。 祝贺一下,现在你总算搞懂了卡普雷卡...

数据库字段中存储的数据数量乘以不同单价的和的算法示例

  数据库字段中存储的数据数量乘以不同单价的和的算法,适用于记账本程序的计件数据记录,和商品记录等场景。  代码示例如下:<?php//模拟数据库结果集$arr=array(array("id"=>1,"name"=>"孙悟空","nums"=>234,"...

冒泡选择插入快速,四种最基础排序算法实现

<?php/***CreatedbyPhpStorm.*User:chm*Date:2016/4/1*Time:19:35*///插入排序特点是一边是排好顺序的,另一边一个一个和顺序的数据对比,每次对比插入一个functioncharu($arr){$len=count($arr);//先给出一个原数组echo"...

一些常用的算法与数据结构

哈希法,又称散列法、杂凑法、关键字地址计算法。这种方法的中心思想是,首先在元素的关键字k和存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元,以后当查找关键字为k的元素时,再利用哈希函数计算出该元素所存储的位置p=(k),从而达到按关键字直接...

java中的数据结构平衡二叉树和红黑树

平衡二叉树是左边子节点比父节点小,右边子节点比父节点大,左节点深度和右节点深度相同,或者右节点深度跟左节点深度相差1,比较严苛,需要不断的变化,使得二叉树平衡,损坏性能CPU。红黑树是相对宽松的平衡二叉树,最差情况下,右节点深度跟左节点深度相差2倍,包含内容:1,树节点只有红节点和黑节点2,根节点必须是黑节点3,叶子节...

Golang container/ring闭环数据结构的使用方法

1//引入包2import"container/ring"3//创建闭环,这里创建10个元素的闭环4r:=ring.New(10)5//给闭环中的元素附值6fori:=1;i<=r.Len();i++{7r.Value=i8r=r.Next()9}10//循环打印闭环元素的值,这里的操作方法很像javascrip...

Redis数据结构详解,五种数据结构分分钟掌握

redis数据类型分为:字符串类型、散列类型、列表类型、集合类型、有序集合类型。redis这么火,它运行有多块?一台普通的笔记本电脑,可以在1秒钟内完成十万次的读写操作。原子操作:最小的操作单位,不能继续拆分。即最小的执行单位,不会被其他命令插入。高并发下不存在竞态条件。KEY的命名:一个良好的建议是article:1...
首页上一页...3839404142...下一页尾页