![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
hai008007
这个作者很懒,什么都没留下…
展开
-
面试常见算法之二叉树
转载:https://blog.csdn.net/startupmount/article/details/39500055一,定义一个节点类:[java] view plain copy package test; public class Node { private int data; private Node left; private...转载 2018-03-31 18:27:02 · 109 阅读 · 0 评论 -
归并排序
def merge(a, b): c = [] h = j = 0 while j < len(a) and h < len(b): if a[j] < b[h]: c.append(a[j]) j += 1 else: c.append(b[h]) ...原创 2018-04-27 22:23:07 · 95 阅读 · 0 评论 -
堆排序
# -*- coding: utf-8 -*-"""Created on Fri Apr 27 15:10:04 2018@author: liuhuan"""def Max_change(heap,size,root): left=2*root+1 right=left+1 maxnode=root if right<size and heap[maxnode]&l...原创 2018-04-27 22:09:57 · 95 阅读 · 0 评论 -
快速排序
def quick_sort(array, left, right): if left >= right: return low = left high = right key = array[low] while left < right: while left < right and arr...原创 2018-04-26 22:14:31 · 87 阅读 · 0 评论 -
leetcode之判断一个链表是否是回文
用到列表反转与快慢指针,价值比较高:# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def isPalindrome(s...原创 2018-05-04 10:45:18 · 463 阅读 · 0 评论 -
删除单向链表的指定节点
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def removeElements(self, head, val):...原创 2018-05-03 23:02:37 · 218 阅读 · 0 评论 -
leetcode之反转单向链表
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def reverseList(self, head): ...原创 2018-05-03 21:34:58 · 89 阅读 · 0 评论 -
哈希表-散列表-哈希存储-代码实现
先来了解一下Hash的基本思路:设要存储对象的个数为num, 那么我们就用len个内存单元来存储它们(len>=num); 以每个对象ki的关键字为自变量,用一个函数h(ki)来映射出ki的内存地址,也就是ki的下标,将ki对象的元素内容全部存入这个地址中就行了。这个就是Hash的基本思路。Hash为什么这么想呢?换言之,为什么要用一个函数来映射出它们的地址单元呢?This is a goo...转载 2018-05-03 15:22:03 · 662 阅读 · 0 评论 -
求两个正整数的最大公约数
大四毕业前夕,计算机学院的小灰又一次顶着炎炎烈日,去某IT公司面试研发工程师岗位……半小时后,公司会议室,面试开始……小灰奋笔疾书,五分钟后……小灰的思路十分简单。他使用暴力枚举的方法,试图寻找到一个合适的整数 i,看看这个整数能否被两个整型参数numberA和numberB同时整除。这个整数 i 从2开始循环累加,一直累加到 numberA 和 numberB 中较小参数的一半为止。循环结束后,...转载 2018-04-05 15:34:10 · 3181 阅读 · 0 评论 -
数据结构与算法之双向链表
http://blog.csdn.net/as02446418/article/details/47114711public class DoubleLinkedList { // 节点类Node private static class Node { Object value; Node prev = this; Node next = this...转载 2018-03-31 19:27:38 · 120 阅读 · 0 评论 -
python实现八大排序算法
本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。1、插入排序描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才...转载 2018-04-27 22:27:55 · 218 阅读 · 0 评论