数据结构
主要使用Java语言测试
SunnyRivers
在通信、游戏、互联网、新能源等不同行业从事过多年大数据开发相关工作,想通过博客和大家一起分享大数据技术带来的经验和乐趣。
展开
-
详解面试手撕过的那些排序算法
前言只要去大厂面试,必定有一轮算法面试,而这一轮往往是阻碍程序员面试成功的关键。一个程序员的算法基本功是否扎实能够体现出自身的开发能力,下面我尽可能的把常用的排序算法讲清楚。排序简介排序(Sort)是指将数据元素按照指定关键字值的大小递增(或递减)次序重新排列。排序是线性表、二叉树等数据结构的一种基本操作,排序可以提高查找效率。本文讨论线性表的多种排序算法,包括插入排序、交换排序、选择排序和归并排序等算法,重点和难点是希尔排序、快速排序、堆排序和归并排序。每种算法都有自己的特点和巧妙之处,从中我们可以原创 2020-07-22 16:54:37 · 791 阅读 · 0 评论 -
数据结构基本概念
为什么要学数据结构直接引用瑞士Niklaus Wirth教授的一句经典名言:数据结构+算法=程序设计两个字回答:效率程序员在软件(程序)设计考虑的首要问题就是数据的表示、组织和处理方法,因为这直接关系到软件的工程化程度和软件的运行效率。而我们学习数据结构的目的也正是要掌握处理数据和编写高效率软件的基本方法。什么是数据结构在了解数据结构之前,先来了解几个基础概念:数据数据...原创 2019-09-20 16:41:21 · 1180 阅读 · 0 评论 -
算法简介
算法定义曾获图灵奖的著名计算科学家D.knuth对算法做过一个为学术界广泛接受的描述性定义。一个算法(Algorithm)是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列。算法的规则必须满足以下5个特性:① 有穷性:对于任意一组合法的输入值,算法在执行有穷步骤之后一定能结束。即算法的操作步骤为有限个,且每步都能在有限时间内完成。② 确定性:对于每种情况下所应执行的...原创 2019-09-20 17:00:03 · 2102 阅读 · 0 评论 -
算法分析
前言算法分析主要包含时间代价和空间代价两方面。这部分内容个人认为是相当重要的,在面试环节经常会问到一个算法的时间复杂度,因此需要熟练掌握。时间代价分析算法的时间代价是指算法执行时所花费的CPU时间量,它是算法中涉及的存、取、转移、加、减等各种基本运算的执行时间之和,与参加运算的数据量有关,很难事先计算得到。算法的时间效率是指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度(...原创 2019-09-20 18:29:09 · 326 阅读 · 0 评论