
数据结构&算法
JustInToday
这个作者很懒,什么都没留下…
展开
-
C语言小知识点
C语言小知识点 在公司考核后打算重新学习数据结构,选择实现的语言是C,但是好多都忘记了,重新学习一下吧。 1、指针:个人理解就是个存放对应变量的地址值。 指针变量:就是可以存放指针的变量,即这个变量的值是指针,且和该指针存放的数据类型对应的。 这个概念在现在来看很好理解。是需要一些基础的,可以联系计算机的发展史,最初的一台计算机使用来存储数据的,后来才会计原创 2017-05-06 16:09:32 · 373 阅读 · 0 评论 -
数据结构&算法——递归
前言递归在较为高级的数算法实现中是常用的,比如深度优先搜索,暴力搜索。下面展示较为简单的递归代码执行的过程中。简单示例如下:示例1: public void recurisve() { Scanner inputUtil = new Scanner(System.in); String str = inputUtil.next(); if (str.equals("a")) { ...原创 2018-03-21 15:31:18 · 1012 阅读 · 0 评论 -
leetcode258 题解
前言LeetCode 258 题目难度等级,easy(官方给的)。leetcode258题目描述Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like:...原创 2018-03-12 12:19:54 · 698 阅读 · 0 评论 -
数据结构——堆
前言堆的存储结构说明此处讨论的堆是基于顺序存储结构,即数组存储,我实现的方式是Java中的ArrayList。必备知识点:下面讨论使用:nums[] 表示堆的顺序存储,nums[i]代表堆中的元素,i表示数组中的下标,nums[0]不存储元素为null。当1<=i<=(nums.length-1)/2时,有如下关系成立:1、nums[i]>=nums[2*i]&&...原创 2018-03-17 13:11:52 · 393 阅读 · 0 评论 -
编程中的位——不用加法实现两个数的和
不用加法实现两个数的和题目给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符代码: public int aplusb(int a, int b) { while (b != 0) { int _a = a ^ b;// 计算不加进位的结果 int _b = (a & b) << 1;//...原创 2018-03-10 13:01:51 · 849 阅读 · 0 评论 -
一点点蚕食JDK源码(一)ArrayList源码
一点点蚕食JDK源码(一)ArrayList源码在对数据结构和算法有一定了解之后,我开始学习JDK源码,下面是自己的记录。采用的方式是将JDK源码中主要的类切离出来,含有集合Collection,并发JUC两个主要的包。本篇主要是学习ArrayList源码。切分出的代码,我放到git上,有兴趣继续研读的看官,可以fork。ArrayList源码先来看add方法: /原创 2018-01-26 00:24:27 · 301 阅读 · 0 评论 -
《剑指offer升级打怪》--链表
《剑指offer升级打怪》--链表(上)写在前面: 本人入门,以下纯属学习记录,若有错误请指正,还有代码有些是参考的。今天凌晨了(估计是疯了,MD明天怎么上班),来刷一篇,攒了好久了,刷剑指offer,刷的蛋疼。下面总结下其中关于链表的题目。题目有:画个图显得题目好多这里说明一下,我个人是个彩笔,有些代码是从网上的参考(你要说抄袭,这个我承认。)先来看个简单的原创 2017-12-20 23:38:03 · 422 阅读 · 0 评论 -
剑指offer中树的总结(基于树的深度)
剑指offer中树的总结(基于树的深度) 虽说把该题归到基于树深度的扩展题目,但是树深度可以看做基于最为基本的前序遍历,中序遍历,后序遍历的递归写法。 求树的深度的程序如下: public int TreeDepth(TreeNode root) { if (root==null) { return 0; } int m =TreeDepth(root.le原创 2017-08-28 16:29:15 · 269 阅读 · 0 评论 -
剑指offer中树的总结(基于层次遍历)
剑指offer中树的总结(一) 第一类型的题目:树的层次遍历及拓展应用。 基础题:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 public ArrayList PrintFromTopToBottom(TreeNode root) { // 所有结点的list ArrayList allN原创 2017-08-28 13:37:40 · 461 阅读 · 1 评论 -
机器学习-基础算法-选择排序
前言排序是个老话题,虽然自己已经在练习高阶的一些算法,但是感觉排序一直未能总结,而且认为排序通透是有难度的。所以,在练习一些高阶的玩法后,再来看排序,最简单的选择排序。文章目录:从最为简单的代码,来一步步迭代实现选择排序 ,不那么生硬,直接丢出一段代码,这就是选择排序。当然这一过程也是看了结果之后的思考。一步步衍生出我们最终的选择排序算法。1、简单的for循环2、一维搜索3、选择排序的实现。1、f...原创 2018-05-13 20:09:58 · 620 阅读 · 0 评论