
数据结构与算法
lucky_jiexia
这个作者很懒,什么都没留下…
展开
-
招行信用卡中心2021暑期实习笔试
不使用另外数组的情况下向左移动n位:翻转数组前n个元素 翻转数组剩下的元素 翻转整个数组向右移动n位:翻转整个数组 翻转数组前n个元素 翻转数组剩下的元素...原创 2020-04-08 22:59:14 · 633 阅读 · 0 评论 -
二叉树先序、中序、后序遍历的递归和非递归实现,层次遍历
import java.util.ArrayList;import java.util.List;import java.util.Stack;public class BinaryTree { private static List<Node> nodeList=null; //定义二叉树 private static class Node{ ...原创 2020-03-14 21:51:07 · 350 阅读 · 0 评论 -
求两个集合的交集和并集
1、排序+双指针交集:用两个“指针”分别指向两个数组的头部。如果其中一个元素比另一个小,后移小的那个数组的指针;如果相等,那么把该元素添加到交集里,同时后移两个数组的指针。一直这样操作下去,直到有一个指针超过数组范围。 public List intersection(int[] a, int[] b){//a和b已经排好序 List<Integer>...原创 2020-02-21 23:27:27 · 4667 阅读 · 0 评论 -
二分查找(折半查找)
查找过程:首先,假设表中元素是按升序排列。将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。算法要求:1.必须采用顺序存储结构(区别于链式存储结...原创 2020-02-21 20:52:27 · 333 阅读 · 0 评论 -
计算n的阶乘 递归算法
输入一个正整数n,输出n!的值。其中n!=1*2*3*…*n。算法实现:public class Fact {/* public static void Fact(int n){ int result=0; if(n==0){ System.out.println(result); return; }else result=n*Fact(n-...原创 2019-04-17 17:05:35 · 2891 阅读 · 0 评论 -
十大排序算法(Java实现)
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。一、插入排序1)直接插入排序基本思想:插入排序的基本思想就是将无序序列插入到有序序列中。例如要将数组a=[49,38,65,97,76,13,27,49]排序,可以将49看做是一个...原创 2019-04-20 15:56:40 · 599 阅读 · 0 评论 -
斐波纳契数列的递归和非递归(迭代)算法
查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。 第i个数是第i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...算法实现:package project;public class Fibonacci { //递归 publi...原创 2019-03-29 10:56:01 · 252 阅读 · 0 评论