sor

选择排序算法:堆排序-Heap Sort

陌路散爱 提交于 2019-12-04 22:28:50
基本思想 排序思想 用最大堆排序的基本思想: 先将初始文件R[1..n]建成一个最大堆,此堆为初始的无序堆。 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得 到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key。 由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。 然后再次将R[1..n-1]中关键字最大的记录R[1]和该区间的最后一个记录R[n-1]交换,由 此得到新的无序区R[1..n-2]和有序区R[n-1..n],且仍满足关系 R[1..n-2].keys≤R[n-1..n].keys,同样要将R[1..n-2]调整为堆。 算法实现 最大堆排序算法,Java实现,代码如下所示: public abstract class Sorter { public abstract void sort ( int [] array); } public class HeapSorter extends Sorter { public void sort ( int [] array) { heapSort(array); } private void heapSort ( int [] array) { int temp; // 用于交换的暂存单元

LeetCode 83. Remove Duplicates from Sorted List

你说的曾经没有我的故事 提交于 2019-12-04 08:08:31
题目 c++ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; ListNode* term = head; int pre = term->val; while(term->next!=NULL) { if(term->next->val == pre) { ListNode* temp = term->next->next; term->next = temp; continue; } pre = term->next->val; term = term->next; } return head; } }; 来源: https://www.cnblogs.com/dacc123/p/11847515.html

Hive 基础(1):分区、桶、Sort Merge Bucket Join

∥☆過路亽.° 提交于 2019-12-03 04:03:25
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层都是相同的,只是上层做了些封装而已,如果你还不了解究竟 Join 有哪些方式,以及底层怎么实现的,请参考如下链接: http://my.oschina.net/leejun2005/blog/95186 MapReduce 中的两表 join 几种方案简介 http://my.oschina.net/leejun2005/blog/111963 Hadoop 多表 join:map side join 范例 http://my.oschina.net/leejun2005/blog/158491 Hive & Performance 学习笔记 在最后一篇链接中,有这么两副图: 前面两个很好理解,基本上每个人都会接触到,但最后一种,可能有同学还是比较陌生, SMB 存在的目的主要是为了解决大表与大表间的 Join 问题,分桶其实就是把大表化成了“小表”,然后 Map-Side Join 解决之

Laravel Yajra Datatables search and sorting not working

匿名 (未验证) 提交于 2019-12-03 01:44:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: In a Laravel application, I use Yajra datatables. I had to install it on a client server. On this server, the search and sort function doesn't work. On my test server and on vagrant it works without any problems. Is there a special package needed to run this function? Or, where i have to search? I have no idea at the moment. (this post has nothing to do with the similar post at the begin of this week) The request looks ok: [ ][1 But the answer do not change any data. The data is the same as before. 转载请标明出处: Laravel Yajra Datatables

Check to see if an array is already sorted?

匿名 (未验证) 提交于 2019-12-03 01:39:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I know how to put an array in order, but in this case I just want to see if it is in order. An array of strings would be the easiest, I imagine, and answers on that front are appreciated, but an answer that includes the ability to check for order based on some arbitrary parameter is optimal. Here's an example dataset. The name of: [[ "a" , 3 ],[ "b" , 53 ],[ "c" , 2 ]] Where the elements are themselves arrays containing several elements, the first of which is a string. I want to see if the elements are in alphabetical order based

Getting the last non-nan index of a sorted numpy matrix or pandas dataframe

匿名 (未验证) 提交于 2019-12-03 01:03:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Given a numpy array (or pandas dataframe) like this: import numpy as np a = np.array([ [1, 1, 1, 0.5, np.nan, np.nan, np.nan], [1, 1, 1, np.nan, np.nan, np.nan, np.nan], [1, 1, 1, 0.5, 0.25, 0.125, 0.075], [1, 1, 1, 0.25, np.nan, np.nan, np.nan], [1, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan], [1, 1, 0.5, 0.5, np.nan, np.nan, np.nan] ]) I'm looking to most efficiently retrieve the last non-nan value in each row, so in this situation I'd be looking for a function that returns something like this: np.array([3, 2, 6, 3, 0, 3]) I can try np

FreeBSD安装后使用su命令显示sorry的解决办法

一世执手 提交于 2019-12-02 13:02:36
FreeBSD中, 可以使用 su 命令成为 root 用户,但FreeBSD对执行su命令的用户进行了更严格的限制,能使用su命令的用户必须属于wheel组(root的基本属组,组ID为0),否则就不能通过 这个命令成为root。(当然该用户还得知道 root 口令) 因此需要编辑组设置文件 /etc/group ,将需要超级用户权力的管理成员加入到 wheel 组中。三个方法: 1. pw groupmod wheel -m <username> 2. pw user mod <username> -g wheel 3. 直接修改 /etc/group 文件,把相应的用户加到 wheell 组就可以: wheel:*:0:root,username 来源: https://www.cnblogs.com/liujingli1986/p/11746160.html

day 15 内置函数二 递归 lamda sorted filter map 二分法求值

让人想犯罪 __ 提交于 2019-12-01 07:20:15
今日主要内容 1. lambda 匿名函数   语法:      lambda 参数:返回值     不能完成复杂的操作、只能写一行 2. sorted() 函数 排序   sorted(iterable, key =None ,reverse=false)   sorted(可迭代对象,key = None,reverse= False) lst = [1,3,23,6,4,34,23,12,9] lst.sort() #sort是list里面的一个方法 print(lst) sorted(lst) #内置函数,返回给你一个新列表,新列表是被排序的。 (与dic.frokeys())效果一样,   print(lst)   排序.     1. 可迭代对象     2. key=函数. 排序规则     3. reverse. 是否倒序   原理:在sorted内部会将可迭代对象中的每一个元素传递给这个函数key的参数,根据函数的运算结果进行排序。 例如:可以进行列表中字符串的长度排序 3. filter() 函数 过滤   filter(function,iterable) 处理完后是一个 迭代器   原理:把可迭代对象中的每一个元素传递给function,然后根据function返回的True或者False来判断是否保留此数据     1. 函数, 返回True或False

力扣 ——Remove Duplicates from Sorted List II(删除排序链表中的重复元素 II)python实现

那年仲夏 提交于 2019-11-30 23:19:40
题目描述: 中文: 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例 2: 输入: 1->1->1->2->3 输出: 2->3 英文: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. Example 1: Input: 1->2->3->3->4->4->5 Output: 1->2->5 Example 2: Input: 1->1->1->2->3 Output: 2->3 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ if head ==None

pandas的排序、排名函数——sort_index()、sort_values()、rank()

会有一股神秘感。 提交于 2019-11-28 21:49:12
1、sort_index() frame = pd.DataFrame({'a':[2.3,-1.7,5,3],'b':[6,2.9,-3.1,8]},index=['one','two','three','four'])   按索引进行排序,可以指定按行索引还是列索引,默认按行索引排序(axis=0):frame.sort_index(axis=0) 按列索引(axis=1):frame.sort_index(axis=1),可选ascending参数,False为降序,默认为升序。 2、sort_values()   按元素值排序,可以指定按行或者列,默认按行排序(一列或多列),可选参数by、axis、ascending,by用于指定行或列索引,axis用于指定轴,ascending用于指定升降序。 3、rank()   默认按行排名(一列或多列),存在平级关系时默认按平均排名,即存在相同数据时采用相同数据的平均排名作为名次,同样也有可选参数axis、ascending、method,打破平级关系的方法,即method的参数选项:average、min、max、first、dense。特别需注意dense的组间排名总是增加1,因此不会等于组中的元素数量,这与min不同。 来源: https://www.cnblogs.com/jason--/p/11427992.html