数据结构与算法
数据结构与算法
Simba1949
只因心中有一丝不甘
展开
-
Java 模拟 CAS 算法
Java 模拟 CAS 算法CAS 简介CAS(Compare-And-Swap)是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。CAS 是一种无锁的非阻塞算法的实现。CAS 包含了3个操作数需要读写的内存值:V进行比较的值即期望的旧值:A拟写入的新值:B当且仅当 V 的值等于 A 的值是,CAS 通过原子方式用新值 B...原创 2019-04-16 17:31:34 · 355 阅读 · 0 评论 -
数据结构与算法学习笔记
算法学习笔记附图:逻辑结构物理存储方式查找算法排序算法插入算法直接插入排序折半插入排序希尔排序交换算法冒泡排序快速排序选择排序简单选择排序堆排序归并排序和基数排序归并排序基数排序内部排序外部排序...原创 2019-06-28 22:15:53 · 213 阅读 · 0 评论 -
算法学习笔记之冒泡算法
算法学习笔记之冒泡算法冒泡算法原理对要排序的数组中的数据,依次比较相邻的两个数据的大小。如果前面的数据大于后面的数据,就把这两个数据进行交换。这样一轮比较和交换过后,就把最小的数据放在数组的最前面;或者说最大的数据放在数组的最后面按照上述比较和交换的方法,把剩下的数据再进行相同操作,最后,便可按照从小到大或者从大到小的顺序对数组完成排序。冒泡算法 Java 的实现package t...原创 2019-06-29 08:47:33 · 204 阅读 · 0 评论 -
算法学习笔记之选择排序算法
算法学习笔记之选择排序算法选择排序算法原理首先找到数组中最小的元素其次将最小的元素和数组中第一个元素进行交换再次,在剩下的元素中找到最小元素,将它与数组中第二个元素进行交换。如此反复,直到将整个数组排序。选择排序算法 Java 实现package top.simba1949;/** * 选择排序算法——简单选择排序算法 * * 简单选择排序算法原理 * 1. 首...原创 2019-06-29 08:48:07 · 197 阅读 · 0 评论 -
算法学习笔记之快速排序
算法学习笔记之快速排序快速排序算法原理以数组第一个位置上的元素为切分元素,定义左扫描 i 和 右扫描 j,左扫描 i 从左向右扫描,直到扫描到小于切分元素的元素停止,右扫描 j 从右向左扫描,直到扫描到大于切分元素的元素停止左扫描和右扫描都停止,交换位置第一轮结束后,交换 i 或者 j 与切分元素的位置,此时, i 或者 j 位置左边都是小于切分元素,右边都是大于切分元素以切分元...原创 2019-06-29 19:56:05 · 242 阅读 · 0 评论 -
算法学习笔记之直接插入排序算法
算法学习笔记之直接插入排序算法直接插入排序算法原理从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤 3,直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤 2~5Java 实现package top.simba1949;/** * 插入排序算法...原创 2019-07-01 06:56:16 · 606 阅读 · 0 评论