简单算法摘录集合

PS:最近处于找工作状态,基本都会有算法笔试题,我之前基本没有接触过算法,所以结果可想而知啊,哈哈

1、简单的冒泡排序法基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。)

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace ConsoleApplication.BubbleSortAlgorithm
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             int[] dList = { 15, 1, 12, 4, 35, 2, 36, 42, 33, 7 };
14             int temp;
15             int length = dList.Length;
16             for (int i = 0; i < length; i++)
17             {
18                 for (int j = i + 1; j < length; j++)
19                 {
20                     if (dList[i] > dList[j])
21                     {
22                         temp = dList[i];
23                         dList[i] = dList[j];
24                         dList[j] = temp;
25                     }
26                 }
27             }
28
29             foreach(int a in dList)
30             {
31                 Console.WriteLine(a);
32             }
33             Console.Read();
34         }
35     }
36 }

简单的冒泡排序

结果:

2、

时间: 2024-11-08 16:20:28

简单算法摘录集合的相关文章

Java数据结构与算法之集合

线性表.链表.哈希表是常用的数据结构,在进行Java开发时,SDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中. 一.Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object.一些Collection允许相同元素而另一些不行.一些能排序而另一些不行.Java  SDK不提供直接继承自Collection的类,Java  SDK提供的类都是继承自Collection的"子接口"如List和Set

根据权重挑选通道的简单算法

当存在一批通道,根据权重,选择哪个通道去使用的简单算法. 利用随机数,数据区间,来获取通道. 通道权重越大,单位时间内使用该通道的概率会大一些. 代码 1 //利用了一个权重区间的比例问题,抓取随机数的可能性,来体现权重思想 2 public static void main(String[] args) { 3 //定义三个通道的权重,按随机数选拔使用哪个通道. 4 //A 10 B 70 C 30 5 //从数据库查询出list集合 6 ChannelD A=new ChannelD("A&

图的所有简单算法实现

包括邻接链表.有向无向图.带权图.增删顶点和边.查找.连通.DFS和BFS等.这只是一个最初版本,有些复杂的算法还没有实现. package structure; //图的邻接链表的节点 public class GraphListNode { private int vertex;//图的顶点 private int weight;//边的权重 private boolean visited;//是否访问过 //带权重图的节点 public GraphListNode(int vertex,i

查找和排序的基本操作:查找排序算法大集合

重点 查找算法着重掌握:顺序查找.二分查找.哈希表查找.二叉排序树查找. 排序算法着重掌握:冒泡排序.插入排序.归并排序.快速排序. 顺序查找 算法说明 顺序查找适合于存储结构为顺序存储或链接存储的线性表. 算法思想 顺序查找也称为线形查找,属于无序查找算法.从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功:若扫描结束仍没有找到关键字等于k的结点,表示查找失败. 算法实现 int sequenceSearch(int a[], int valu

JS 简单算法

//分别使用while/do-while/for循环实现10的阶乘(使用递归算法) //do-while循环实现10的阶乘 var i=1; var resule=1; do{ resule *= i; i++; }while(i0;i--){ if(a%i == 0 && b%i == 0){ console.log(i); break; } } //for循环求最小公倍数 for(var i=max;ib){ min = b; max = a; }else{ min = a; max

【线性表基础】基于线性表的简单算法【Java版】

本文描述了基于线性表的简单算法及其代码[Java实现] 1-1 删除单链表中所有重复元素 // Example 1-1 删除单链表中所有重复元素 private static void removeRepeat(LinkList L) { Node node = L.head.next; // 首结点 while (node != null) // 一重循环,遍历L中的每一个元素 { // Object data=p.data; Node p = node; // q结点的前驱 Node q =

简单算法汇总

一.全排列问题(Permutation) 问题描写叙述:即给定{1,2,3},返回123,132,213,231,312,321 <Permutation> 1)无顺序的全排列问题: 将序列P(n) = {1-.. n}的全排列问题看成P(n)={1,P(n-1)} + {2,P(n-1)}-..的问题.即确定第一个元素的值为1.然后和剩下n-1个元素的全排列结果组合到一起:然后再将1和剩下的每一个元素进行交换.然后和其剩下的n-1个元素排列结果进行组合.显然这是一个递归问题. // 递归实现

大数据算法摘录

大数据算法的摘抄 预处理 抽取 清洗 分析方法 聚合: 聚类类似于分类,但与分类的目的不同,是针对数据的相似性和差异性将一组数据分为几个类别.属于同一类别的数据间的相似性很大,但不同类别之间数据的相似性很小,跨类的数据关联性很低. 分类: 分类是找出数据库中的一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到摸个给定的类别中. 回归分析: 回归分析反映了数据库中数据的属性值的特性,通过函数表达数据映射的关系来发现属性值之间的依赖关系.它可以应用

面试简单整理之集合

18.java 集合都有哪些? 一.Set集合.其主要实现类有HashSet.TreeSet.存放对象的引用,不允许有重复对象. 二.List集合,其主要实现类有LinkedList.ArrayList,前者实现了链表结构,后者可代表大小可变的数组.List的特点是能够以线性方式储蓄对象,并允许存放重复对象.List能够利用Collections类的静态方法sort排序.sort(List list)自然排序;sort(List listm,Comparator codddmparator)客户