算法
文章平均质量分 60
草莓味儿的小米佳
Man proposes,God disposes.
展开
-
入门算法:小和问题 之归并排序思想 java语言
题目在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。例子[1,3,4,2,5]1左边比1小的数:没有3左边比3小的数:14左边比4小的数:1,32左边比2小的数:15左边比5小的数:1,3,4,2所以小和为1+1+3+1+1+3+4+2=16解题思路如果直接用两层for循环扫,时间复杂度是O(n^2),但是可以通过归并排序的方法将时间复杂度降到O(nlogn).如果不了解归并排序算法的可以先看看这篇博客:https://blog.csdn.n原创 2021-03-01 00:53:09 · 315 阅读 · 1 评论 -
二叉树实现先序、中序遍历(java)
1.前序遍历前序遍历(DLR,lchild,data,rchild),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。package bianli;import java.util.Stack;/** * 前序遍历 */class TreeNode{ int value; TreeNode left;...原创 2020-04-02 20:58:43 · 161 阅读 · 0 评论 -
链表常见操作
https://www.cnblogs.com/bjh1117/p/8335108.html原创 2020-03-20 13:20:58 · 96 阅读 · 0 评论 -
java 二分法查找
二分法查找(BinarySearch)当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序的。在这里插入代码片public static int myBinarySearch(int[] arr,int value) {int low = 0;int high = arr.length - 1;while(low <= high) {int mid = (low+hig...原创 2020-02-15 19:01:17 · 100 阅读 · 0 评论 -
01背包问题 动态规划 java实现 简单通俗易懂
**01背包问题 动态规划**1.动态规划什么是动态规划?动态规划就是将一个大问题不断向下拆分成小问题,直到拆分出的小问题可以求出其解,然后将小问题的解不断的向上合并,最终得到大问题的解决方案。 2.01背包问题一个旅行者有一个最多能装m公斤的背包,现在有n中物品,每件的重量分别是W1、W2、……、Wn,每件物品的价值分别为C1、C2、……、Cn, 需要将物品放入背包中,要怎么样放...原创 2019-06-06 15:05:28 · 6093 阅读 · 3 评论